Mapping 0MATERIAL to 0MAT_SALES in ABAP code.

Hi
The primary key of 0MAT_SALES is material and sales org. How do I perform the following in ABAP?
IF data_package comp code is between 3000 and 3999
   Use comp code in combination with material in mapping to 0MAT_SALES
Else
   Use sales org in combination with material in mapping to 0MAT_SALES
Thanks and kind regards,
Torben

Hello Torben ,
Try the below steps
Data : ws_matsales type data_package-matsales
Use comp code in combination with material in mapping to 0MAT_SALES
IF data_package-comp_code LE 3999 AND GE 3000.
Select 0mat_sales from /bi0/pmat_sales into ws_matsales where comp_code = data_package-comp_code AND material = data_package-material
Else
Use sales org in combination with material in mapping to 0MAT_SALES
Select  0mat_sales from /bi0/pmat_sales into ws_matsales  where sales org = data_package-sales_org AND material = data_package-material
ENDIF
RESULT = ws_matsales
Hope it helps
Mann

Similar Messages

  • ABAP code which will use function module during field mapping in LSMW

    Hi,
    During field mapping in LSMW, for one of the field called field, I want to use a function module 'QF05_RANDOM_INTEGER', which will generate random numbers and map that random number to that field.
    How do I write ABAP code which uses function module, during filed mapping for a particluar field in LSMW ?
    Please help...
    Regards,
    Tushar.

    Hi Tushar,
    You can write in FORM ROUTINE and LSMW.
    I hope you know how to write ABAP code at field level.
    If not ...
    Come to change mode->select the field->Rule->ABAP Code
    write a perform statement in ABAP code at field level.
    <b>PERFORM test</b> using val
                 changing valu.
    Go to Utilities(at menu)->switch layout-> extras ->select Layout->check Form routine-> it will display a FORM Routine... at bottom
    this is the place where you can write some code for
    <b> FORM test</b> using value
              changing value1
      FM call....
    .ENDFORM  
    Get the value1 returned and use for the Field population.
    Reward points if this Helps.
    Manish
    Message was edited by:
            Manish Kumar

  • Debug ABAP code used for ABAP mapping

    Hi Experts,
    I have worked on Abap mapping. I have executed the code in SE24 to acheive desired mapping and the desired output is also generated.
    attached below is a part of the code i have used:
    method IF_MAPPING~EXECUTE.
    * initialize iXML
      TYPE-POOLS: ixml.
      CLASS cl_ixml DEFINITION LOAD.
    * create main factory
      DATA: ixmlfactory TYPE REF TO if_ixml.
      ixmlfactory = cl_ixml=>create( ).
    * create stream factory
      DATA: streamfactory TYPE REF TO if_ixml_stream_factory.
      streamfactory = ixmlfactory->create_stream_factory( ).
    * create input stream
      DATA: istream TYPE REF TO if_ixml_istream.
      istream = streamfactory->create_istream_xstring( source ).
    * parse input document =================================================
    * initialize input document
      DATA: idocument TYPE REF TO if_ixml_document.
      idocument = ixmlfactory->create_document( ).
    * parse input document
      DATA: iparser  TYPE REF TO if_ixml_parser.
      iparser = ixmlfactory->create_parser( stream_factory = streamfactory
                                            istream        = istream
                                            document       = idocument ).
      iparser->parse( ).
    I just want to debug and see if an input is provided how does each of these methods make a difference to it.
    I tried to input some value in the SOURCE parameter on executing the code but it is not working fine.
    Could you please suggest hiw i should go about so that i can see the exact way the input Xstring is affected by each of these methods in the debugger.
    Help will be appreciated.
    Many thanks,
    Neha
    Edited by: Neha Nagrani on Jul 7, 2008 11:46 AM

    Hi Neha,
    Write a Small Report as Folows:
    1.  Create your XMl payload of Type xSTRING.
    2.  Call the method EXECUTE
    Place a Breakpoint on the method. and then keep debugging inside.
    the SetParamter method is obviously called from inside.
    This is the Simplesrt Solution.
    Reward points if useful
    Regards,
    Abhishek

  • ABAP code needed to convert from 0calmonth2 & 0calyear to 0calmonth

    Hi SAP GURUS,
    Can anybody give me the ABAP code to convert from 0calmonth2 and 0calyear to 0calmonth.and please suggest me whether i have to write start routine or end routine in transformations.
    Thanks ALL.

    hi,
    in the transformation map 0calmonth2 and 0calyear to the 0calmonth field, and from drop down choose routine.
    there will be an area where it will be mentioned write your piece of code below this line.
    paste the below code:
    Concatenate source_fields-0calmonth2 source_fields-0calyear into result.
    also delete the line result = .
    save the routine and execute the package.
    regards,
    Arvind.

  • ABAP code in to JAVA for overwritting condition value for IPC pricing

    Dear experts i am an IPC JAVA developer and i am trying to translate an ABAP Routine in to JAVA code for overwriting condition value in the pricing user exit of IPC
    Here is the ABAPcode segment i am trying to transulate
      DATA: l_kdkg1  LIKE komk-kdkg1,
            l_work TYPE f,
            l_umren LIKE marm-umren,
            l_umrez LIKE marm-umrez.
      SELECT SINGLE peinh FROM mbew INTO mbew-peinh         
      WHERE matnr = komp-matnr
      AND bwkey = komp-werks.
      I need some  help in the following things
      1. I don't know how to transulate the following Line of ABAP code into JAVA
         " AND bwkey = komp-werks."
    Bwkey stands for plant details. I don't know how to get plant details from  Pricing Item.
      2. Someone please tell me weather the following JAVA transulation is correct
      Vector x = prItem.getUserExitConditions();
      db database = pricingEngine.getDatabase();
         // set table name
      String tableStart = "mbew";                                             
         // set query parameters
      sys_query_pair[] queryPair = null;
      //matnr = komp-matnr . Getting the material Number
      String materialNo= prItem.getProduct().toString();
      //bwkey = komp-werks.Getting plant.
      // TODO: werks stands for plant. Not sure how to get it from prItem
       String plant = "";
       queryPair = new sys_query_pair[2];                    
       queryPair[0] = new sys_query_pair("matnr", materialNo);
       queryPair[1] = new sys_query_pair("bwkey", plant);
      // set query columns
       String ZZFIELDStart = "peinh";
       String ZZFIELD_VALUEStart;                   
       String[] projectionStart;
       projectionStart = new String[];
       BigDecimal pricingUnit = null;
       try{     
          // execute query
          res resultSetStart = database.db_read_table(tableStart, queryPair,projectionStart) ;
          if (!res.db_empty_results_p(resultSetStart))
         ZZFIELD_VALUEStart = resultSetStart.db_get_row_element_string(0);
         pricingUnit = new BigDecimal(ZZFIELD_VALUEStart);
         resultSetStart.db_finish();
       else
         System.out.println("Coudn't find a value of field peinh in table mbew!");
       catch (exc_database_error e)
         e.printStackTrace();

    Please login to the server where IPC is installed. In the IPC folder u find libs folder  or search for docs in IPC folder. There it is dealt how ABAP routines are mapped to  user exits in java coding
    Thanks
    Surya

  • ABAP code in Survey suite

    Hi,
    We have requirement to map survey values from flat file.For example I have question which accept multiple values like
    Intersted in below products...
    Windows
    Unix
    DOS
    If pass these three vaues in flat file, I am not getting any error.However If I pass only one value like windows, keep unix and DOS fields blank, I am getting mapping format error in External list.
    Does anyone knows how to configure this scenario? I know we have option in ELM Mapping format to write ABAP code, Can we achieve this using ABAP?
    Thanks for your time.
    Cheers,
    Ajay

    Hi Ajay,
    It must be because the IDOC is expecting details for all three values.
    Better use abap coding to map them.
    Best Regards,
    Pratik Patel

  • LSMW (ABAP Code Rule)

    Hi All,
    I have to upload data in transaction code MD61 (Planned Independent Requirement) for a year, that is, 12 months.
    The requirement date and planned quantity have fields EDATU & PLNMG, respectively. If I'm going to input 12 months, the fields will become EDATU_01, EDATU_02... EDATU_12 and PLNMG_01 to PLNMG_12. However, the screen during background processing only has 10 rows, resulting to an incorrect session in SM35 with error: "Field RM60E-EDATU(11) does not exist in the screen SAPLM60E 0200".
    Is there a way that I can use ABAP Code in LSMW's conversion rules for me to be able to upload 12 entries in MD61?
    Thanks a lot in advance!
    Best regards,
    Olyn

    Hi,
    While recording did you come across the 11th and 12th row as well?
    if not, once the recording is done try to insert those two in the  recording list manually. And then in the field mapping try to map this with the 11th and 12th field you have in your structure.

  • How to insert abap code in LSMW generated program?

    hi,
    i m working on LSMW for loading data in SAP
    i would like to insert abap code into the generated program....
    it's because i have 1 BKPF segment (header data), 2 BSEG segments, but i cannot define rules by customizing for the second BSEG segment(LSMW doesn't permitt).
    i already tried to insert code directly into the program, but obviously it disapears at each time i generate the program.
    i saw that apparently a code insertion has already be made into this program and the subject of this insertion is to define rules for the second BSEG (exactly what i want to do....) and this modification doesn't disapear at new prog generation.....
    Any idea ?

    Hi
    Why dont you use the FORM provided by LSMW
    To use this please do the following
    1.Goto option <b>Maintain Field Mapping and Conversion Rules</b>
    2.Goto menu <b>EXTRAS->LAYOUT->Form Routines</b>
      Here you will now get many options like
       Global Data
       Begin of Transaction
    Begin of Processing
    Begin of Record
      like wise the End of these also.
    Please put a breakpoint and check where you want to insert your code.
    Note:
    This is only for the Conversion Program and does not affect the main program used to update the Standard Tables
    Hi , I was reading your earlier post .. It seems that you have worked on EMIGALL. Consider a similar situation, it is like writing the code in the events till CALL01...
    Thanks
    DOminic
    Message was edited by: Dominic  Pappaly

  • Problem with abap code in lsmw.its urgent

    Hello guys iam migrating open ar line items using lsmwand i need to create reconciliation key automatically so iam using below code which is working fine in abap editor but i inserted in the lsmw abap code block at step 5 mapping fields iam getting error as that function module does not exits .can any body go through the code and give me suggestion.your will be greatly appreciate.
    types: begin of ty_fikey,
           fikey type fikey_kk,
           resob type resob_kk,
           end of ty_fikey.
    data: wa_fikey type ty_fikey.
    CALL FUNCTION 'FKK_FIKEY_CHECK'
      EXPORTING
        I_FIKEY                      = 'jana56481'
      I_OPEN_ON_REQUEST            =
      I_OPEN_WITHOUT_DIALOG        =
      I_FOR_MASS_POSTING           =
       I_RESOB                      = '24 '
      I_RESKY                      = ' '
      I_NON_EXISTING_ALLOWED       = ' '
      I_FOR_POSTING_IN_UPD         = ' '
    EXCEPTIONS
      NON_EXISTING                 = 1
      OTHERS                       = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    select single  fikey resob from dfkksumc into corresponding fields of wa_fikey where resob = '24'.
    e1bpdfkkko-fikey = wa_fikey-fikey.
    Regards
    Janapathi

    Hi,
    Refer link:
    <a href="http://www.scmexpertonline.com/downloads/SCM_LSMW_StepsOnWeb.doc">http://www.scmexpertonline.com/downloads/SCM_LSMW_StepsOnWeb.doc</a>
    Pls do reward points.
    Regards,
    Ameet

  • Change Prg name in classes using abap code

    Hello Experts,
    I'm having following req:-
    I need to change program name using abap code .
    I have prepared report which changing prg name & also it is replecting target name into T-code & Programes where source prg name is being used.
    My next req is i want to replace sorce prg name in Classes usinf abap coding.
    <Priority normalized by moderator>
    Thanxs in Advance.
    Moderator message : Requirements dumping not allowed, thread locked.
    Edited by: Vinod Kumar on Feb 7, 2012 12:32 PM

    The application name is not necessarily uniqueue! Customers may create two applications with same name in different systems/clients and transport them into the same target system/client!
    You do the mapping with the query:
    CL_FDT_FACTORY=>GET_INSTANCE( )->GET_QUERY()->...
    There are two methods. One for mapping ID to name and one for name to ID.
    There is also a sample report in package SFDT_DEMO_OBJECTS.

  • Abap Code to populate source system id

    Hi , so kind of All of you,
    please help me, i have written the code in one to one mapping in transformation routine in BI 7,0 right click on zzsourcsys and go tp rule details. No syntax errors in the code but when i load there is no value populating to zzsourcsys . i have defined zzsourcsys as 12 char. can u suggest where it is going wrong, i checked in tools assignment of sourcesystem id is there in my system.
    Abap Code
    TYPE-POOLS: RSSM.
    Data: G_S_MINFO TYPE RSSM_S_MINFO.
    RESULT = G_S_MINFO-LOGSYS.
    Thanks
    Poonam Roy

    You have to write the code (<b>in BI/BW</b>) in the transfer rule (<b>between Datasource transfer structure and infosource/info object</b>)
    There the FORM begin with
    [code]USING RECORD_NO LIKE SY-TABIX
        TRAN_STRUCTURE TYPE TRANSFER_STRUCTURE
        G_S_MINFO TYPE RSSM_S_MINFO
    CHANGING RESULT TYPE /BI0/OIPERSON
        G_T_ERRORLOG TYPE rssm_t_errorlog_int
        RETURNCODE LIKE SY-SUBRC
        ABORT LIKE SY-SUBRC. “set ABORT <> 0 to cancel datapackag[/code]
    GS_MIN_INFO structure RSSM_S_MINFO contains information on the request being processed.
    <i>G_S_MINFO. This passes technical information about the data load request,
    such as requesting user, request date and time, update mode, the handling of
    duplicate records, error handling flags, parallel processing flags, and what data
    targets to update.</i>
    If tou want to use start-routine for optimization reasons and fill an empty field in transfer structure, the structure G_S_MINFO is available too.
    [code]USING G_S_MINFO TYPE RSSM_S_MINFO
    CHANGING DATAPAK type TAB_TRANSTRU
        G_T_ERRORLOG TYPE rssm_t_errorlog_int
        ABORT LIKE SY-SUBRC. “set ABORT <> 0 to cancel datapackage[/code]
    And stay in FORM between limits :
    [code]$$ begin of routine
    $$ end of routine[/code]
    Update RESULT in first case, and field(s) of DATAPAK in second case.
    [code]RESULT = G_S_MINFO-LOGSYS.[/code] or
    [code]LOOP AT DATAPAK INTO l_s_datapak_line.
      l_s_datapak_line-zzsourcsys = G_S_MINFO-LOGSYS.
      MODIFY DATAPAK FROM l_s_datapak_line.
    ENDLOOP.[/code]
    Regards

  • ABAP Code + API

    Hello Friends,
    I have to write a method in ABAP equivelent to java method, here is the jave source code.
    private String constructID(String id)
        StringBuffer str = new StringBuffer("0000000000");
        str.append(id);
        return str.substring(id.length());
    (Just explain shortly what it is doing!)
    I am trying to call the BAPI (BAPI_BUPA_CENTRAL_GETDETAIL), and in oder to call this BAPI I have to export the BUSINESSPARTNER parameter. This parameter has been stored in DB with 10 char e.g 0000000001 . As I am developing web interface so the user can enter BUSINESSPARTNER No = 1, and this java code will map the user enter 1 to 0000000001.
    I want to ask, is there online API avaiable for ABAP which helps me to write this equivelent code or is there any method like append() or subString() in ABAP ( as I am very new to ABAP so please excuse me if I bothers you )
    Many thanks!
    Marek.

    If I understand correctly, you need to make "1" look like "0000000001" using ABAP code.   Try the following code.  This should work for you.
    Regards,
    Rich Heilman
    report zrich_0004 .
    data: char(10) type c value '1'.
    data: numc(10) type n.
    numc = char.
    write:/ char.
    write:/ numc.

  • Is it possible to write an abap code be SAP SQL query.(ECC 6)

    hello guys,
    Is it possible to write an abap code be SAP SQL query.
    Scenario : table A has a field say f1 of length 10 and table B has a field say s1 of lenght 20. in sap sql i am able to link all the other tables but i am not able to link
    table Af1 --->Table Bs1. as the length doesnot match. so is it possibel that using abap code I can pick 10 characters from table A field f1 adjust it to 20 characters using abap and map it to field s1 of table B.
    Please let me know how to accomplish this if possible.
    thanks in advance!!

    Herm,
    Adding code is done in the infoset.
    Please do following:
    > Goto SQ02
    > Type in the infoset that the basis for your query, <change>
    > Press <code> OR <shift><f8>
    > Tou'll see 4 tabs: Extras, Selections, Code, Enhancements.
    > GoTo tab Code
    > Choose the coding section (<f4> gives you an overview)
    > Enter the code.
    You may set a breakpoint to see what the query in SQ01 will do with it.
    Succes!
    Frank

  • ABAP code to Enhance Master data

    Hi Friends,
    can  you send me a sample ABAP code to enhance the master data
    Regards
    Hari

    Dear Adluru Hari Varma ,
    Hereunder an example of code to enhance Master Data
    0ART_SALES_ATTR for 0MAT_SALES:
    EXIT_SAPLRSAP_002
    DATA: l_biw_mvke_s LIKE biw_mvke_s,
    l_tabix LIKE sy-tabix,
    v_satnr LIKE mara-satnr.
    CASE i_datasource.
    WHEN '0ART_SALES_ATTR'.
    LOOP AT i_t_data INTO l_biw_mvke_s.
    l_tabix = sy-tabix.
    clear v_satnr.
    SELECT SINGLE satnr FROM MARA INTO v_satnr
    where matnr = l_biw_mvke_s-matnr.
    IF sy-subrc = 0.
    l_biw_mvke_s-zzsatnr = v_satnr.
    ENDIF.
    MODIFY i_t_data FROM l_biw_mvke_s INDEX l_tabix.
    ENDLOOP.
    ENDCASE.
    Also
    the user exit code zxrsau02 to populate the new fields .say you add field zzfield1, user exit code zxrsau02 can be like
    data : l_s_custattr like BIW_KNA1_S,
    l_zzfield1 like tablexyz-fieldabc,
    l_tabix like sy-tabix.
    case i_datasource.
    when '0customer_attr'.
    loop at c_t_data into l_s_custattr.
    l_tabix = sy-tabix.
    fill the new field
    select single fieldabc into l_zzfield1
    where ....
    l_s_custattr-zzfield1 = l_zzfield1.
    modify c_t_data from l_s_custattr index l_tabix.
    endloop.
    take a look some links on enhancement
    Enhancement
    User exit
    and download pdf 'enhancements in sap bw'
    here you can find the steps ...
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/59069d90-0201-0010-fd81-d5e11994d8b5
    hope this helps.
    Re: enhancements
    Check in SDN you will find more programs
    Hope it helps.Revert back to me if you have any queries
    Regards
    Bala

  • Can i use any OWB mapping operator when i generate ABAP

    it seems like in OWB mappings, if i have a SAP table as data source and i want to perform some operations (eg. JOIN, input parameters, expressions) i am limited to generating PLSQL code.
    all i can get if i want ABAP generated code is a simple table (all records) column to column mappings ! is this true or am i missing some important steps ?
    eg. how can i specify a date as input parameter to be used as a filter value on a SAP table before storing the results in a staging table ? keep in mind that i am expecting the extraction code to be in ABAP ...

    You need to specify the join condition to generate ABAP code. Start by specfying a foreign key based on the join condition. In table 1, create a unique key. In table 2, create a foreign key based on the unique key of table 1.
    There should not be any problem with the filter condition generating ABAP code. If you would like more specific assistance, log a technical assistance request (TAR) on MetaLink and Support can review your map.

Maybe you are looking for

  • "Unable to load replica"- Can I just start over???

    I am just in the beginning stages of setting up a new server. When it came time to create network user accounts I was unable to and upon further investigation realized that the open directory isnt properly set up. Long story short, since I have no us

  • Can your loadMovie "file name" = timeline frame number?

    I have a simple slideshow that has 70 slides. Each slide is on a frame in the main timeline and I have the following AS 2: loadMovie("Data/5.swf", "container"); stop(); There will be 70 SWF files in that Data folder. Instead of having to manually typ

  • No Sound for Messages

    I can't get my Messages app to make incoming sounds and I don't know why. I get a notification and the badge icon appears, just no sound. Here is a screenshot of my preferences; Any idea why I don't hear anything? I'm on Yosemite.

  • Typical configuration for Pix501 after router

    Our network topology is:   wire from street  -> cable modem   -> router  ->  computers The router is a simple Netgear wireless router.    We want to install a Pix501 firewall for one of the computers only (cant do it for all computers for a complicat

  • Multi Row update using pl/sql anonymous block process

    Does anyone have an example of multi row update using a pl/sql anonymous block process? The reason I can not use the apex mru process is that the table in questions has a five field key. My attempts have failed with a bad number. Thanks, Gary