ABAP to test whether communication structure field is blank

Group,
I'm wondering what the best syntax would be for testing whether a field passed through in a communication structure is blank. The field is a reference to 0MATERIAL....Here were two ways I've done it, but want to know the differences between the two and which one would be the better choice:
Option 1:
IF COMM_STRUCTURE-FIELD1 EQ "".
     .... do something
ENDIF.
Option 2:
IF COMM_STRUCTURE-FIELD1 IS INITIAL.
    ....do something
ENDIF.

Hi,
IS INITIAL behaves different for different variable types.
If your field is text type and is empty IS INITIAL is true.
If your field is numerical and contains 0 IS INITIAL is also true.
regards
Krzys

Similar Messages

  • DataDictionnary Table or View for InfoSources/Communication Structure

    Hi,
    I am looking for the assignment between (Source) Fields  and InfoObjects.
    this is equivalent to:
    I am looking for a Data Dictionnary-Table or -View which describes the InfoSource fields / or Communication Structure fields.
    Anybody got a hint ?
    ThanXs
    Martin

    RSKS
    RSKSFIELD
    RSISFIELD

  • New Custom Field in Delivery output Communication Structure

    Hello friends,
    I need your help to Solve my below problem
    We want the delivery output to be triggered based on the shipping point and storage location.
    Storage location is at item level and is not in LIKP and hence not in KOMKBV2 (Output Comm Structure for Deliveries)
    I have created a new Field ZZLGORT in the Header Strucutre and has performed thefolloiwng steps
    1. Include field ZZLGORT  in communication structure KOMKBV2. This is an Include that is provided for additional fields.
    Add the field with the name ZZLGORT in Include KOMKBZ4.
    2. In structure KOMB in Include KOMBZ, have added the same field
    (same procedure as for item 1).
    3. In view V_T681F, I created the same field with transaction SM31  under key B V2.
    4. Program LVCOMU04 contains Perform USEREXIT_KOMKBV2_FILL. This Perform
    is in program RVCOMFZZ.
    Modiied the source code as follows:
    FORM_USEREXIT_KOMKBV2_FILL.
    COM_KBV2-ZZLGORT = item Storage location.
    When i am in Debugging mode till the last minute the structure COM_KBV2-ZZLGORT is having the storage location value.
    so there is no problem in the userexit logic.
    5) I have created a new cond table , and assigned the table access sequence and assigned he access seq to the Delivery output type
    When i created the Delivery , the output analysis screen shows that the field ZZLGORT is blank ( With exclamation Mark) and it says Access Not made (initialized Field )
    can any one of you tell me what is the step i am missing out to make sure that the analysis screen has the storage location.
    and also the system reading the condition record and issuing the output.
    i have checked whether the output is issued by some other condition or not. no there is only condition record and its triggering that condition record but the analysis shows "Output Not found"
    Can any one of you help me here please. Your immediate inputs will be of great help to me
    Thanks & Regards
    Srini

    Hi Srini,
    As per note 32662 it seems you have followed all the steps, but might be that you didn't do in proper sequence.
    The note states that:
    "If a new access sequence and condition table was created before the communication structure was modified, it must be deleted again. Items 1 to 5 must be carried out in the specified sequence."
    So I guess the key for you would be to delete the Condition table and access and create them again.
    Regards,
    Ganesh

  • IPC in CRM 7.0: New customer field in item communication structure

    Hi Experts,
    I tried to enhance the IPC according to the known manual.
    I created a new item related z-field in the item communication structure which I fill in the BadI IF_EX_CRM_COND_COM_BADI with a Char(1) value:
        IF cs_acs_i_com-zfield IS INITIAL.
          LOOP AT ls_prc_agrmnts_wrk-price_agreements_crm ASSIGNING <price>.
            CASE <price>-kschl.
              WHEN 'ZFRE'.
                cs_acs_i_com-zfield = 'B'.
    I also did the customizing for that new formula which is a requirement. There I added two attributes to the implementation:
    -ITEM_GUID     Item GUID
    -ZFIELD     Z-Field
    and also two attributes to the formula:
    -ITEM_GUID     CRM_ITEM_GUID
    -ZFIELD     ZFIELD
    I use this requirement in my pricing procedure and uploaded the jar file. My java code looks as follows:
    import com.sap.spe.condmgnt.finding.userexit.RequirementAdapter;
    import com.sap.spe.condmgnt.customizing.IAccess;
    import com.sap.spe.condmgnt.customizing.IStep;
    import com.sap.spe.condmgnt.finding.userexit.IConditionFindingManagerUserExit;
    import com.sap.spe.base.logging.UserexitLogger;
    public class ZFreiStBLP extends RequirementAdapter {
         private static UserexitLogger userexitlogger =
              new UserexitLogger(ZFreiStBLP.class);
         public boolean checkRequirement(IConditionFindingManagerUserExit item,
                   IStep step, IAccess access) {
              String item_guid = item.getAttributeValue("ITEM_GUID");
              userexitlogger.writeLogDebug("Item: "
                        + item_guid);          
                   String zfield = item.getAttributeValue("ZFIELD");
                   userexitlogger.writeLogDebug("ZFIELD: "
                             + zfield );
                   if (pauschale != "B"){
                        return pauschale.equals("");
                        }else
                        {     return pauschale.equals("X");     
    In SM53 i can see the logs, but the problem is that obviously only the standard field ITEM_GUID is available in the Java. Means, that for my z-field I never get a value although the BadI is called an the value is written to the communication structure.
    Does anybody has an idea, why I do not get the value of that zfield in my java code?
    Thanks a lot!
    Regards,
    Mireille

    Hello Vinod,
    I have customised complete pricing procedure but in the Quotation order we are not getting NET VALUE.
    When i come accrossed with BBP_CHECK_CND_CUST In my findings i found parameter IPC_ON is missing.
    I am waiting for the reply from BASIS.
    Is there any functional customisation required for IPC let me know.
    Best Regards,
    Sathyadev

  • Field mapping in transfer structure and communication structure

    Hi,
    I am able to see the mapping of BW field with R/3 field in the transfer structure.
    By the same time, in the communication structure the same BW field is there with out any mapping (Unmapped).
    Can any one advice what could be the problem. Thanks.
    Regards,
    Abhi.

    Hi Abhi
    In communication structure will not have any mapping, it is just the structure to communicate to Datatarget. Mapping between Source fields and BW fields is done at transfer rules and mapping btwn communication struture and Datatarget will be donein Update rules.
    Regards,
    Kiran.

  • Creating new field in a communication structure

    Dear All,
    I am trying to create new field in a pricing communication structure in the ITEM level. I followed the below mentioned steps to do this.
    1. Added MATWA (Material Entered - Material determination) field in the structure KOMPAZ.
    2. Activated the structure.
    3. Now I need to allocate the new field in the table T681F to the usage and the application area, in which it is to be used.  (These are the steps I got from few documents and in the following link   [Re: Allowed fields are not showing in the Condition table])
    My question is.. How to add this field in T681F table?
    Ultimately, I am not getting this field in the Field catalog while creating condition table.

    Hi Prem,
    I hope you would have added the field MATWA with ZZMATWA as we need to do it with ZZ or YY for custom fields additions in the communication structure.
    After doing this, ideally there should not be any problem in adding ZZMATWA in the field catalogue. Try with the following menu path in the IMG
    Sales and Dist.->Basic Functions-> Pricing->Pricing Control->Define Condition tables Execute - Add field catalogue.
    Or in transaction code VOK0 by selecting the condition tables option in the menu.- Add field catalogue
    I hope this helps.
    Regards,
    Subbu

  • Adding Custom Fields to Communication Structure of 2LIS_02_ITM (MCEKPO)

    Hi
    I have a question about addiing additional fields (KO_PPRCTR) into MCEKPO and enabling it as part of 'true' DELTA.
    The question is then:
    Does the fact that we have this Custom field from EKPO added to MCEKPO would cause DELTA to be triggered automatically each time this field would change? (irrespective of whether a Standard field in MCEKPO has also changed or not).
    Thanks
    BC

    Hi Blues,
    According to the sap online document about data source 2LIS_02_ITM http://help.sap.com/saphelp_sm32/helpdata/en/58/f6383fdb800804e10000000a114084/frameset.htm
    "if you change a purchasing document, the system only takes into consideration the data that is relevant for extraction. The system therefore only executes a delta update for this DataSource if changes are made to purchasing document header data or item data that has a corresponding field in the DataSource."
    which means only changes to standard fields of the datasource will trigger a delta update.
    But who knows, Stefan's answer may be right. Practice is the sole criterion for testing truth, so why not have a test?
    Additionally, you could also check the famous blog article about this topic by Roberto Negro:
    /people/sap.user72/blog/2005/02/14/logistic-cockpit--when-you-need-more--first-option-enhance-it
    Hope it helps.
    Regards,
    Qing

  • ABAP-command to check wheather a field in existing in a spec.table/structur

    Hello together,
    we have a tool to do corrections to CO-PA-transaction data.
    Because we have different structures for different operating concerns (and therefore different dynpros for those different operating concerns) we now want to dynamize this tool.
    The idea is to have one dynpro with the maximum number of CO-PA-fields and to control via a functional-module which vields are existing for one operating concern and those are not existing for that operating concern to change the attributes to non-changeable.
    Is there any command in ABAP to check if one field (e.g. one valuefield) is contained in one table-structure (e.g. table-structure CE1xxxx) ?
    Kind regards
    Udo

    *--Verfy infoobject exit or not
      call function 'DDIF_FIELDINFO_GET'
        exporting
          tabname        = KNA1   <--here you pass structure
        tables
          DFIES_TAB = <itab>    <--get list of fields in the table
        exceptions
          not_found      = 1
          internal_error = 2
          others         = 3.
      if sy-subrc <> 0.
        message  text-005 type 'E' .
      endif.
    loop at  <itab> assigning <field>.
    *here you validate wether field is available in the structure or not
    assign component 'SIGNCH'  of structure <field> to <f_sign>.
      if sy-subrc ne 0.
        message  'SIGNCH field is not available in table KNA1'  type  'E' .
      endif.
    endloop.
    Regards,
    Peranandam

  • Sample code for a custom field added to LIS Communication structure for Del

    We appended a new custome field into extraction structure of the LO Cookpit datasource 2LIS_02_ITM through RSA6.  And then run CMOD to write the exit code to populate the value and it works fine.  But after we read Roberto's Weblog:
    /people/sap.user72/blog/2005/02/14/logistic-cockpit--when-you-need-more--first-option-enhance-it
    Find the enhancement we did can't make the Delta mechanism works if only this new field gets changed in a record, and the change cannot be reflected on BW.  I know we can run SMOD on the enhancement LEINS001 to write the code for LIS Communication structure customer exit.  But we have never writen such a code for LIS Communication Structure enhancement and also don't know on how to make the Delta mechanism works in the code.  We would be very appreciated if some expert here can provide the sample code!
    Thanks

    hi AHP,
    Have you tried Sanyam's code listed in this article you recommended?
    Now our R3 team has added a custom field called ZZZ to EKKO table and I modify the code to suit our need and the code would be as following:
    *& Include ZXM06U16 *
    DATA: i_t_ekko LIKE ekko OCCURS 1 WITH HEADER LINE.
    DATA: ebeln LIKE ekpo-ebeln,
    it_ekko TYPE TABLE OF ekko WITH HEADER LINE,
    old_val(50) TYPE c. "For storing the value from the Field Symbol
    FIELD-SYMBOLS <fs> TYPE ANY TABLE.
    CASE zeitp.
    WHEN 'MA'. "When creating a purchase order
    MOVE '(SAPLEINS)T_EKKO[]' TO old_val.
    ASSIGN (old_val) TO <fs>.
    i_t_ekko[] = <fs>.
    LOOP AT xmcekko.
    ebeln = xmcekko-ebeln.
    IF xmcekko-supkz = '1'. "Old Value ?
    SELECT SINGLE * FROM ekko INTO it_ekko WHERE ebeln = ebeln.
    xmcekko-ZZZ = it_ekko-ZZZ.
    ELSE. "New Value ?
    READ TABLE i_t_ekko WITH KEY ebeln = ebeln.
    xmcekko-ZZZ = i_t_ekko-ZZZ.
    ENDIF.
    MODIFY xmcekko.
    ENDLOOP.
    EndCase.
    The compile of the above code works fine and we activated everywhere including project level. Then we set debug points in this code, and run RSA3 on 2LIS_02_ITM, but find the extraction program never reaches this code or call this user exit function EXIT_SAPLEINS_001 of this enhancement LEINS001. Any reason?
    Thanks
    Kevin
    Message was edited by: Kevin Smith

  • 2LIS_02_ITM - Adding fields to communication structure - User exit

    Hello,
    I have read the weblog of Roberto Negro concerning the possibility of adding fields to the communication structure of an extractor.
    In his article he talks about MCVBAK and so on and refers to enhancements MC10001, MC50001, MC60001.
    I am trying to do the same with 2LIS_02_ITM.
    The communication structures are MCEKKO and MCKPO.
    Can someone explain how to proceed in order to locate the approporiate user exit ?
    Claudio Ciardelli

    Amit
    How to Add payroll period fields(FAPER & IPERIN) to the structure HRMS_BIW_PY1.
    These fields are coming from RT_person cluster table.
    That will be great help..

  • Extenet the communication structure CEKKO for over delivery tolerance

    Hi Boss,
    I like to set the Purchase order release strategy based on the over delivery tolerance. But when i checking, the over delivery tolerance filed UEBTO is not in the communication structure CEKKO. Can you please help me how should i extend the CEKKO with field UEBTO.
    I do not have the ABAP experience, please guide me with coding.
    Thank you,
    Siva

    There are lot of fields which can be set as Charecteristics for Release Strategy. I dont know why you want to Set the Over delivery Tolerance as Charecterisitic.
    What is your Requirment??
    Any way You can also use CEKKOZZ Communication Structure: PO release for User Exit
    Go thru the Link which will guide you
    http://help.sap.com/saphelp_40b/helpdata/en/dd/2d547bb435d1118b3f0060b03ca329/content.htm

  • Communication Structures

    Hey folks,
    I do have some basic doubts on Pricing & Pricing communication structure. These may sound really stupid to some.. But, please ..Please reply if you know the answer..it will help me a lot...
    1. What is a Communication Structure??
    Lets say - Pricing Communication Structure - KOMP / KOMK.. - I know KOMK is a header Pricing Communication Structure & KOMP for item...
    But, precisely what it is the communication structure doing ??
    2. If KOMP is for Item; KOMK - for header. Then what is KOMG. What role does structure KOMG play?
    3. If we KOMP / KOMK for item & header respectively - then what for are communication structures - KOMPAZ & KOMKAZ
    4. What is the difference between KOMK & XKOMK or KOMP & XKOMP..
    I mean I really don't know why I see xKOMP in some condition routines..
    5. What is XKWERT & KWERT ??
    Any documentation on this will be really helpful to me.
    Thanks,
    Lavanya

    Hi Lavanya - Routines are executed/called during condition type processing from a document. Since, condition type processing happens either during the creation of a particular document (like pricing) or after the document has been saved (like output conditions), data required for processing these condition types are sent through communication structures instead of allowing condition types to access table data directly. Think of this situation, a sales order is in the process of being created and pricing happens before even saving the document. Now if the processing of conditions were to be done using direct table read, how would it fetch data for an order that is still in process of being created... I hope you'r getting the point. Hence, (I believe thats what forced) SAP to design condition type processing using communication structures that would be filled with data before the conditions would be processed.
    Like for instance, pricing. The communication structures, as you know it, KOMK and KOMP would be supplied before a condition type is processed. Similarly, for output condition type processing, communication routines are KOMxByy, where x can be K- Header, P-item level and yy is the application (v1, v2 ). So a sales order output condition type will have these two communication structures for processing, KOMKBV1 and KOMPBV1.....
    You can view the structures and see for yourself the desired field before setting up a condition type. On occasions where you don't find a particular information field in the structure and you think thats required for your condition processing, you would have to enhance these structures. Before that, make sure that the information you are seeking from this new field in the structure can be sourced from the underlying document. For instance, sales order, you need a information out from the order but you don't have a corresponding field in the structure. You would first define the field in the structure (use the standard includes). Then go and have an ABAPer code in the user exit MV45AFZZ (userexit_pricing_prepare) to move the required data to this new field.
    Hope you would have got the basic processing style used in SAP for processing condition types, both at pricing and output condition types.
    Rgds,
    Naren

  • CRM Communication structure not working in a copy client

    Hi all,
    my issue is the following. In client 300 CRM, defined as copy of client 100 communication structure CRMT_ACS_I_COM  is not filled by implementation of BADI CRM_COND_COM_BADI .
    Basically it is supposed that once you fill manually a field contained in a  Z TAB, at item level, by marking the tax type,  condition type in pricing procedure is filled automatically.
    Now the point is, that in my client 100 of CRM this process works perfectly. Clients 100 and 300 are in the same machine.
    Since customizing tables are the same, BADis used are the same (the code), what is falling?
    Many thks in advance,
    AndreA,
    Ps: contributions will be rewarded

    Hi Johannes,
    I know it not recommended to set up two clients in the same machine, but unfortunately I did not have choice at time as it was imposed.
    As well it true they share the same instance.
    In any case I would say that in Quality we have the same clients and we haven't got any problems.
    But one is kept just for getting historical data, meant CRM100, meanwhile CRM300 is the real production.
    Both have an active middleware connection but just 300 is receiving and giving data to ERP, meanwhile R/3 as well is just kept for checking.
    So I think the issue is elsewhere, otherwise quality system would fail as well.
    In any case many tks in advance,
    AndreA

  • How to test the communication stability and calculate ber using the CVI ?

    Our chief engineer gave me a task yeasterday.He asked me to do software testing and calculate bit error rate that we would know our communication stability.
    However,I have never touched this aspect of knowledge. I have known a bit about CVI and I want to write  bit error rate code using CVI.Thus,I could test the communication stability.
    But I don't know how to analyse and judge the receiving codes whether they are right or wrong.
    We use Modbus communication protocol and receive data via serial port,so I want to save all datas and record the total datas number ,marking as M.
    then,save the eligible datas and record the mumber marking as N. So, bit error rate is (M-N)/M   .
    Whether this is feasible ? Or you have any good idea. Thank you very much.
    unsigned char in_data[100];
    inqlen = GetInQLen (comport);
    for(i=0;i<inqlen;i++)
    in_data[i]=ComRdByte(comport);
     Above is my code that receive all datas and I want to save the array in_data[] data and record the number.
    switch(inqlen)
    case 19:
    crc=usMBCRC16(in_data,inqlen );
    if((in_data[1] == 0x03)&&(crc==0)&&(in_data[0]==device_addr))
     Above is the condition judgement that receive eligible datas which number marks as N.
    I know there is a precondition that I filter out all the wrong data . However ,I don't know any good idea. I will appreciate if anyone could help me.
    Thank you very much.
    Best regards.
    xiepei
    I wouldn't care success or failure,for I will only struggle ahead as long as I have been destined to the distance.
    Solved!
    Go to Solution.

    Hi xiepei,
    since you are using modbus, a simple error checking is implicit in the protocol and is the comparison between returned checksum and the calculated one on the received message: checksum errors, if any, are an effect of communications errors (you should have at least 2 bits changed and on particular patterns to have the checksum be calculated correctly!). You won't be able to calculate BER on them, but you can calculate PER (Packet Error Rate).
    Another flag for communication errors, on the other direction, is to intercept error messages from the device: if it fully implements modbus protocol, it should return some warning in case of error (I seem to remember that in some cases it returns the reveived message with some error bits added: please check in modbus documentation).
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Table name and field name of the structure field

    Hi Gurus
    I am having a screen where i enter a value in a field and that field is a structure field, I would like to know in which table and what field is this value storing?
    Can anyone help me out in finding the field name? and what is the procedure to find?
    Thanks in advance

    Hi Satya,
    In the field data section (technical information), you can double click on the field name then the system will take you to SE11 (Data Dictionary). From here, you can check whether the field is available in tranparent table or structure.
    In general, as naren mentioned sales order header data stored in table VBAK and line item in table VBAP, VBEP, etc.
    For request delivery date, it stores in table VBAK-VDATU.
    Regards,
    Ferry Lianto
    Please close this thread if your problem solved and mark for all helpful answer.

Maybe you are looking for

  • Forum Support Isn't Working :(

    Just want to say that it's disappointing to have had a thread I've been updating for since last Thursday go unreplied to for 3 business days plus a weekend where I see other threads being replied to by Adobe Support - even through the weekend. If - s

  • [Original iPhone] To 2..2 or not 2..2 that is the question!

    Would like to hear from Original iPhone owners. I see so many different issues and while 2.1 (or anything after 1.1.4) is loaded with its own issues and unreliability, wondering why get rid of the problems I know and have to find out new ones. Let me

  • VAT code change in NL on 1-JAN-2001

    The highest VAT code changes from 18 to 19% in the Netherlands on the first of January. We have put all you need to do in a short checklist in Dutch below. BTW hoog wordt 19% in 2001 CONSEQUENTIES IN ORACLE FINANCIALS Per 1 januari 2001 aanstaande ve

  • Anchor mobility configuration getting lost in wlc 5508 ios code 7.4.100.0

    It is observed that in WLC 5508 , ios 7.4.100.0 ,  mobility anchor configuration on wlan  is getting lost .  we configure anchor ip address on  guest wlan > mobility anchor >  Switch IP Address (Anchor). We have configured the template on NCS 2.0 to

  • Help me with the example in the QuickStar

    Hi, all I am a newbie in J2EE. I just installed it and try to follow the example in 'Quickstart', It's within the topic "Deploy an Application from a Development Directory". I am trying to follow the procedure given there. I create a 'build' director