Validation and assignment

Hi Experts,
There are two fields under Validation tab in data manager.
One is Callable another is branch value.
1)Could you explain me the function of those two fields and
2) What is the purpose of assignmentn tab in data manager.
Thanks and regards,
Shalini

Hello Shalini,
Under the validation tab,
Callable is the property for a perticular validation which you have made sothat you can use this validation in another validation. here reusability comes into the picture.
To make the validation callable in other validation, set the property callable=yes.
If you set the property say "yes" then you can see the perticular validation name in the function dropdown list in the expression editor to call in another validation.
Branch Value:The taxonomy lookup field value on which a branch branches.you can write the validations on attributes of taxonomy table.to use this branch value, you have to "Add Branch" option if you want to write validations on attributes and its value.and this Add branch validation always will be a child validation of any validation on which you want to perform.
when you use add brach option then Branch value option will be enable and you can select the category here on which you want to perform the validation and alsio you can see the option "Attributes" and "text Values" drop down list will be enabled to wirte the validation on these in Expression editor. 
Validations: Validations in MDM are expressions that return a Boolean success or failure result.
For Example: validation IS_NOT_NULL (Product ID) checks if the value in the field product ID is nul
Assignments: Assignments, instead of returning a Boolean success or failure result, populate data value of any type to a field on which they are applied. Assignments can follow a validation or can be written stand alone. An example of assignment following a validation is
For Example: IF (IS_NULL (City),u201DMumbaiu201D, City) checks for whether the field City is null or not, if the field City is null then it assigns value u201CMumbaiu201D to the field City.
Hope this will clear your doubt.
TNR,
Saurabh...
Edited by: Saurabh Kumar Sahu on Jun 10, 2008 2:09 PM

Similar Messages

  • Adding Branch to Validation and Assignment

    According to MDM Data Manager Reference guide page  (192/208), can not add "Branch" Validation and Assignment.
    According to guide when right-clikcked on expression the "Add Branch" menu option is Disabled.
    How to make it Enabled. Or is it a Bug that it is not enabled?
    Branch Value field is grayed out/disabled.
    Anybody had similar experience? How did you resolve it?
    Thanks,
    Abhay

    Thank you for you answer. I have a custom repository with no Taxanomy table.
    May be that's why the "Add Branch" option was disabled.
    Now the question is, Why do you need to have a Taxonomy to enable the "Add branch" feature?
    Here is my scenario:
    I want to run series of Assignments.
    I defined 5 assignments. Thought that I can use MDM Workflow to call them in series. However MDM Workflow does not let me connect one Assignmen Task to next Assignment Task. So though Branched Assignment would be helpful.
    However looks like can not use "Add Branch" to assignment to run them in series.
    May be I will put a new post.
    Abhay

  • Cost center validity change and assign it to new company code

    Hello
    We are having 10 Cost centers  in 1000 Company code, And validity of these cost centers is .01.01.2001 to 31.12.9999.
    Now business want to create one more company code 2000. and wants to extend these same cost centers to 2000 company code also. But as per SAP std Cost center extention is not possible , bcz cost center can use by only one company code.
    Now Company is saying that..they wants the same number for new company code from 23.09.2010 to 31.12.9999..
    system is not allow me to change validity period of these cost centers, bcz  these saying that the cost center is already defined for given period.
    Beacuse new company code will start working from 24.09.2010. so i,e the reason , we want to make example "2561 cost center  validity 01.01.2001 to 22.09.2010 for company code 1000. then after words 23.09.2010 to 31.12.9999 the same cost center 2561 will for 2000 company code.
    but system is not allowing me to change the validity
    Regards
    Mahesh

    Hi Mangesh
    What you wish is not possible.. You will have to create new cost center and assign to the new company code...
    may be for simplicity sake, you can add a prefix or suffix to the existing cost center no i.e Cost Ctr 2356 can become N2356 in new comp code
    Regards
    Ajay M

  • Error in Process-Please specify a valid account assignment error inBackend

    Hi Gurus,
    I am abaper and I am new to SRM technical.
    One Po is already there in SRM 4.0 and ERP with cost center and profit center replicated as it is. But my user is chaning the price of the PO in SRM.  It is showing as 'Error in Process'
    I check in backend error in portal and in rz20  'Please specify a valid account assignment' is error is coming.
    This is technical or functional issue.
    I checked in BBP_PD_PO_TRANSFER_EXEC, BBP_PO_INBOUND i find the error message as SE E181, But how can i rectify this error.
    when they changed the price for other pos it is replicating in backend but why for this po it is giving error, I checked all Cost center and profit center and all are fine...
    Please do the needful.
    Thanks,
    Kiran

    Hi,
    You said change of price in other POs is working fine. Only one PO goes into error.
    Is the cost center, profit center same as the ones in error PO ?
    If it's possible, can you also try this:
    - Create a PO in ERP directly using the same CC, Profit center as account assignment data
    - Check the other account assignment data that got defaulted (e.g. Business area etc) --> Verify whether this data is same in error PO also.
    - Could you create the PO successfully ?
    Best regards,
    Ramki

  • While creation of a equipment and assignment of personnel number

    Hi
    I have activated partner function to the Equipment catagery.
    While creating equipment using T.code IE01,  I am assigning personnel number to the person responsible partnerfunction.
    After that personnel number getting defaulted to operator field as per config setting.
    I can create equipment and assign person responsible succussfully.
    But at the time of assignment of personnel number with partner function person responsible,  I am getting information messege always like
                     " No customer master record exists for customer 10003511"
    I would request you please suggest how  to "delink the above message" while creation of a new equipment and assigning the personnel number.
    Thanks & Regards
    CHSR

    Hello
    Please check the personal Number is active or exists in HR Master with its validity.Use TC for checking PA20 for checking the same.
    Regards,
    Rakesh

  • How to create a moveable holiday and assign it to a Holiday Calendar?

    Hi Experts,
    How to create a moveable holiday and assign it to a Holiday Calendar?
    Regards,
    Tomesh

    Hi Tomesh,
    Floating Holidays are created for holidays for which the dates are not decided for the years ahead or dates may changes each year or when a unusual holiday is just introducted for one year.
    1.Use transaction SCAL or use the IMG path to the holiday calender.
    2.Create a new holiday and select the option " is a movable holiday".
    3.Fill in the " public holiday attribute tab" and hit insert date.
    4.Fill in the year, month and date for the floating holiday or you could do multiple years at the same time if dates are know and hit create.
    5. The new public holiday is created.
    6.Assign the new holiday to the holiday calender, while saving you will get a message that " an irregular public holiday is created and being save hit ok. This message will appear in cases when the holiday calender validity and the validity of the floating holiday are matching.
    Generate the work schedules and check if th holiday appear in the work schedule.
    Award point if useful.
    Thanks
    Gita

  • Reg validations and assignments

    Hi All
    Im new to MDM and need to clarify some basic doubts....
    What is the deifference between validations and assignments and what is their significance , and
    SAP MDM is the third party tool and who is the atual vendor for this.
    Points rewarded for the best..
    Regards
    Hari

    Hi Hari,
    Both validations and assignments can be defined in MDM data manager using
    functions and operators.
    deifference between validations and assignments
    Validations returns boolean value (True or False ) based on some rule
      Example: IF (IS_NULL(Name),FALSE,TRUE).
    In the above expression if name field contains null value,it returns false otherwise
    true. Validations can be executed manually or automatically.
    To execute the validations manually just right click on records on which you want to
    do validations and execute the validation then you can see the result.
    Automatic validations are automatically are executed upon record saving by giving
    warning or error meaasge.
    Assignments assign return value to the some field which is selected.
    Suppose you took number field as assignment field and you have written expression
    like this:
    Example: IF (IS_NULL(Name),100,200).
    If name field has null value, assigns 100 to number field otherwise assigns 200 to
    number field.
    See below links to get more details:
    MDM Validations
    New Webinar About Validations with MDM 5.5
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/102dc4e5-07c9-2910-93b3-f49c8ed52509
    Validation Funcitons Enhanceable
    Thanks
    Narendra

  • BDC with lots of validations and conversions

    hi to all experts,
                           i need a sample  bdc program with lots of validations and conversion.
    thanks

    Hi,
    REPORT  ZMMFTS01A_MAINTAIN_SOURCE_LIST NO STANDARD PAGE HEADING
            LINE-SIZE 250.
    TABLES eord.
    ***Types Declaration
    **Type of Upload File
    TYPES : BEGIN OF ty_final,
             matnr(018),       "Material No
             werks(004),       "Plant
             vdatu(010),       "valid From
             bdatu(010),       "valid To
             lifnr(010),       "Vendor
             ekorg(004),       "Purchase Org
             reswk(004),       "Plant from which material is procured
             ebeln(010),       "Agreement
             ebelp(005),       "Item
             feskz(003),       "Fix
             notkz(003),       "Blk
             autet(003),       "MRP
            END OF ty_final.
    **Type for Error Records
    TYPES : BEGIN OF ty_errmsg,
             matnr(018),
             werks(004),
             vdatu(010),
             bdatu(010),
             lifnr(010),
             ekorg(004),
             reswk(004),
             ebeln(010),
             ebelp(005),
             feskz(003),
             notkz(003),
             autet(003),
             messg(200),
            END OF ty_errmsg.
    **Type to get the existing no of records before comparison
    TYPES : BEGIN OF ty_eord,
             matnr LIKE eord-matnr,
             werks LIKE eord-werks,
             erdat LIKE eord-erdat,
             vdatu LIKE eord-vdatu,
             bdatu LIKE eord-bdatu,
             lifnr LIKE eord-lifnr,
             flifn LIKE eord-flifn,
             ebeln LIKE eord-ebeln,
             ebelp LIKE eord-ebelp,
             febel LIKE eord-febel,
             reswk LIKE eord-reswk,
             notkz LIKE eord-notkz,
             ekorg LIKE eord-ekorg,
             autet LIKE eord-autet,
            END OF ty_eord.
    **Type to get the no of records in the Database after comparison
    TYPES : BEGIN OF ty_eord1,
             vdatu LIKE eord-vdatu,
             bdatu LIKE eord-bdatu,
            END OF ty_eord1.
    ***Data Declarations
    DATA : v_repid    LIKE sy-repid,
           v_datfm    LIKE usr01-datfm,
           v_message(200),
           v_err_rec  TYPE i,
           v_errors   TYPE i,
           v_updated  TYPE i,
           v_matnr    TYPE matnr,
           v_lines    TYPE i,
           v_eord_row TYPE i,
           s_count(2) TYPE n,
           v_fnam(20) TYPE c,
           v_tabix(2) TYPE n,
           v_vdatu(10),
           v_bdatu LIKE eord-bdatu,
           v_datum(10),
           f_option type ctu_params.
    ****Begin of Changes by Pavan  Ticket 648507            "D13K948908
    DATA : s_vdatu  TYPE sy-datum,
           s_bdatu  TYPE sy-datum.
    ****End of Changes By Pavan    Ticket 648507            "D13K948908
    ***Internal Tables Declaration
    DATA : it_eord       TYPE STANDARD TABLE OF ty_eord    WITH HEADER LINE,    "Internal Table for Appending all the Rows of DB Table EORD
           it_bdcdata    TYPE STANDARD TABLE OF bdcdata    WITH HEADER LINE,   
           it_final      TYPE STANDARD TABLE OF ty_final   WITH HEADER LINE,   
           it_err_rec    TYPE STANDARD TABLE OF ty_final   WITH HEADER LINE,  
           it_messtab    TYPE STANDARD TABLE OF bdcmsgcoll WITH HEADER LINE, 
           it_errmsg     TYPE STANDARD TABLE OF ty_errmsg  WITH HEADER LINE,   
           it_eord1      TYPE STANDARD TABLE OF ty_eord1   WITH HEADER LINE,   
           it_ctu_params TYPE STANDARD TABLE OF ctu_params WITH HEADER LINE.
    DATA : wa_final LIKE LINE OF it_final.
    ***Constants
    CONSTANTS : c_1  TYPE i VALUE '1',
                c_12 TYPE i VALUE '12',
                c_x         VALUE 'X'.
    ***Selection Screen
    SELECTION-SCREEN : BEGIN OF BLOCK header WITH FRAME TITLE text-002.
    SELECTION-SCREEN SKIP.
    PARAMETERS  P_FNAME LIKE RLGRAP-FILENAME OBLIGATORY.
    SELECTION-SCREEN : END OF BLOCK header.
                     I N I L I T I A L I Z A T I O N                          *
    INITIALIZATION.
      it_ctu_params-updmode = 'S'.
      it_ctu_params-defsize = 'X'.
      it_ctu_params-dismode = 'N'.
      APPEND it_ctu_params.
                   A T   S E L E C T I O N   S C R E E N                      *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAME.
      PERFORM file_get.
                    S T A R T   O F   S E L E C T I O N                       *
    START-OF-SELECTION.
      PERFORM upload_xcel.
      IF NOT it_final[] IS INITIAL.
        SORT it_final BY matnr werks lifnr ekorg reswk ebeln ebelp.
        DESCRIBE TABLE it_final LINES v_lines.
      ENDIF.
    **To Know the Date Format for the user name in user master record
      SELECT SINGLE datfm FROM usr01
                          INTO v_datfm
                          WHERE bname = sy-uname.
    **Updating the Database based on the Combinations of Vendor/PPL/Porg and Agreement/Item
      LOOP AT it_final.
    *****Begin of Changes By Pavan   Ticket 648507            "D13K948908
        CLEAR : s_vdatu, s_bdatu.
        CONCATENATE it_final-vdatu6(4) it_final-vdatu0(2) it_final-vdatu+3(2) INTO s_vdatu.
        CONCATENATE it_final-bdatu6(4) it_final-bdatu0(2) it_final-bdatu+3(2) INTO s_bdatu.
        PERFORM plant_conversion USING it_final-werks.
    *****End of Changes By Pavan     Ticket 648507            "D13K948908
        REFRESH it_eord[].
        v_matnr = it_final-matnr.
    **Adding preceeding Zeroes to the Material No
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = v_matnr
          IMPORTING
            OUTPUT = v_matnr.
    **Adding preceeding Zeroes to the Vendor
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = it_final-lifnr
          IMPORTING
            OUTPUT = it_final-lifnr.
    **Adding preceeding Zeroes to the Item
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = it_final-ebelp
          IMPORTING
            OUTPUT = it_final-ebelp.
        TRANSLATE it_final-feskz TO UPPER CASE.
        TRANSLATE it_final-notkz TO UPPER CASE.
    Select the Existing Records from EORD for the Combination of Material and Plant of New Record
        SELECT matnr
               werks
               erdat
               vdatu
               bdatu
               lifnr
               flifn
               ebeln
               ebelp
               febel
               reswk
               notkz
               ekorg
               autet FROM eord INTO corresponding fields of TABLE it_eord
                      WHERE matnr EQ v_matnr
                        AND werks EQ it_final-werks.
        SORT it_eord BY matnr werks vdatu bdatu erdat lifnr ekorg reswk ebeln ebelp.
        IF sy-subrc EQ 0.
          LOOP AT it_eord.
    If the Combination of Old Records Vendor/PPL/Porg is same and Agreement/Item
    is also same then delete the Old Record and Upload the New Record
            IF it_eord-MATNR = V_MATNR        AND
               it_eord-WERKS = IT_FINAL-WERKS AND
               it_eord-LIFNR = IT_FINAL-LIFNR AND
               it_eord-EKORG = IT_FINAL-EKORG AND
               it_eord-RESWK = IT_FINAL-RESWK AND
               it_eord-EBELN = IT_FINAL-EBELN AND
               it_eord-EBELP = IT_FINAL-EBELP.
    *****Begin of Changes By Pavan   Ticket 648507            "D13K948908
              IF s_vdatu GT it_eord-bdatu OR s_bdatu LT it_eord-vdatu.
              ELSE.
    *****End of Changes By Pavan     Ticket 648507            "D13K948908
                v_tabix = sy-tabix.
                PERFORM bdc_dynpro USING  'SAPLMEOR' '0200'.
                PERFORM bdc_field USING : 'EORD-MATNR' it_final-matnr,
                                          'EORD-WERKS' it_final-WERKS,
                                          'BDC_OKCODE' '/00'.
                PERFORM bdc_dynpro USING  'SAPLMEOR' '0205'.
                CONCATENATE 'RM06W-SELKZ(' v_tabix ')'  INTO v_fnam.
                PERFORM bdc_field USING : v_fnam 'X'.
                PERFORM bdc_field  USING 'BDC_OKCODE' '=LOES'.
                PERFORM bdc_dynpro USING 'SAPLSPO1'   '0200'.
                PERFORM bdc_field  USING 'BDC_OKCODE' '=YES'.
                PERFORM bdc_dynpro USING  'SAPLMEOR' '0205'.
                PERFORM bdc_field  USING 'BDC_OKCODE' '=BU'.
              ENDIF.
            ELSE.
    If the Combination of Old Records Vendor/PPL/Porg is same and Agreement/Item
    is different, if the FIX of the Existing one is X and also the FIX of the New one
    is X then deselect the FIX of the Old one, if the MRP of the Old one is 1 and also
    the MRP of the New one is 1 then delete the MRP of the Old one, if the FIX and MRP
    of the Old one is X,1 and if it is same for the new one also, then delete the FIX
    and MRP of the Old one and insert the new one also
              IF it_eord-lifnr = it_final-lifnr AND
                 it_eord-ekorg = it_final-ekorg AND
                 it_eord-reswk = it_final-reswk AND
                 it_eord-ebeln NE '' AND it_final-ebeln NE ''.
                IF it_eord-ebeln NE it_final-ebeln OR it_eord-ebelp NE it_final-ebelp.
                  IF it_eord-febel EQ 'X' OR it_eord-autet EQ '1'.
                    v_tabix = sy-tabix.
                    IF it_final-feskz = 'X' AND it_final-autet = '1'.
                   it_eord-febel = ''.
                   it_eord-autet = ''.
    *****Begin of Changes By Pavan   Ticket 648507            "D13K948908
                      IF s_vdatu GT it_eord-bdatu OR s_bdatu LT it_eord-vdatu.
                      ELSE.
    *****End of Changes By Pavan     Ticket 648507            "D13K948908
                        PERFORM bdc_dynpro USING  'SAPLMEOR' '0200'.
                        PERFORM bdc_field USING : 'EORD-MATNR' it_final-matnr,
                                         'EORD-WERKS' it_final-WERKS,
                                         'BDC_OKCODE' '/00'.
                        PERFORM bdc_dynpro USING  'SAPLMEOR' '0205'.
                        CONCATENATE 'RM06W-FESKZ(' v_tabix ')'  INTO v_fnam.
                        PERFORM bdc_field1 USING : v_fnam SPACE.
                        CONCATENATE 'EORD-AUTET(' v_tabix ')'  INTO v_fnam.
                        PERFORM bdc_field1 USING : v_fnam SPACE.
                        PERFORM bdc_field  USING 'BDC_OKCODE' '=BU'.
                      ENDIF.
                    ELSEIF
                     it_final-feskz = 'X'.
                   it_eord-febel = ''.
    *****Begin of Changes By Pavan   Ticket 648507            "D13K948908
                      IF s_vdatu GT it_eord-bdatu OR  s_bdatu LT it_eord-vdatu.
                      ELSE.
    *****End of Changes By Pavan     Ticket 648507            "D13K948908
                        PERFORM bdc_dynpro USING  'SAPLMEOR' '0200'.
                        PERFORM bdc_field USING : 'EORD-MATNR' it_final-matnr,
                                         'EORD-WERKS' it_final-WERKS,
                                         'BDC_OKCODE' '/00'.
                        PERFORM bdc_dynpro USING  'SAPLMEOR' '0205'.
                        CONCATENATE 'RM06W-FESKZ(' v_tabix ')'  INTO v_fnam.
                        PERFORM bdc_field1 USING : v_fnam SPACE.
                        PERFORM bdc_field  USING 'BDC_OKCODE' '=BU'.
                      ENDIF.
                    ELSEIF
                     it_final-autet = '1'.
                   it_eord-autet  = ''.
    *****Begin of Changes By Pavan   Ticket 648507            "D13K948908
                      IF s_vdatu GT it_eord-bdatu OR  s_bdatu LT it_eord-vdatu.
                      ELSE.
    *****End of Changes By Pavan     Ticket 648507            "D13K948908
                        PERFORM bdc_dynpro USING  'SAPLMEOR' '0200'.
                        PERFORM bdc_field USING : 'EORD-MATNR' it_final-matnr,
                                         'EORD-WERKS' it_final-WERKS,
                                         'BDC_OKCODE' '/00'.
                        PERFORM bdc_dynpro USING  'SAPLMEOR' '0205'.
                        CONCATENATE 'EORD-AUTET(' v_tabix ')'  INTO v_fnam.
                        PERFORM bdc_field1 USING : v_fnam SPACE.
                        PERFORM bdc_field  USING 'BDC_OKCODE' '=BU'.
                      ENDIF.
                    ENDIF.
                  ENDIF.
                ENDIF.
              ENDIF.
            ENDIF.
            CLEAR it_eord.
            IF NOT it_bdcdata[] IS INITIAL.
              CALL TRANSACTION 'ME01' USING it_bdcdata
                                      OPTIONS FROM it_ctu_params.
              REFRESH it_bdcdata[].
              EXIT.
            ENDIF.
          ENDLOOP.
        ENDIF.
          ENDIF.
        CLEAR : v_matnr, it_final.
      ENDLOOP.
      REFRESH : it_eord[].
      FREE it_eord.
    **Updating the Records of Upload File into ME01
      LOOP AT it_final INTO wa_final.
        it_final = wa_final.
        CLEAR v_matnr.
        TRANSLATE it_final-feskz TO UPPER CASE.
        TRANSLATE it_final-notkz TO UPPER CASE.
    *****Begin of Changes By Pavan   Ticket 648507            "D13K948908
        PERFORM plant_conversion USING wa_final-werks.
    *****End of Changes By Pavan     Ticket 648507            "D13K948908
    **To convert the Valid From and Valid To into User's Format
        CASE v_datfm.
          WHEN 1.
            CONCATENATE it_final-vdatu3(2) '.' it_final-vdatu0(2) '.' it_final-vdatu+6(4) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu3(2) '.' it_final-bdatu0(2) '.' it_final-bdatu+6(4) INTO it_final-bdatu.
          WHEN 2.
            CONCATENATE it_final-vdatu0(2) '/' it_final-vdatu3(2) '/' it_final-vdatu+6(4) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu0(2) '/' it_final-bdatu3(2) '/' it_final-bdatu+6(4) INTO it_final-bdatu.
          WHEN 3.
            CONCATENATE it_final-vdatu0(2) '-' it_final-vdatu3(2) '-' it_final-vdatu+6(4) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu0(2) '-' it_final-bdatu3(2) '-' it_final-bdatu+6(4) INTO it_final-bdatu.
          WHEN 4.
            CONCATENATE it_final-vdatu6(4) '.' it_final-vdatu0(2) '.' it_final-vdatu+3(2) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu6(4) '.' it_final-bdatu0(2) '.' it_final-bdatu+3(2) INTO it_final-bdatu.
          WHEN 5.
            CONCATENATE it_final-vdatu6(4) '/' it_final-vdatu0(2) '/' it_final-vdatu+3(2) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu6(4) '/' it_final-bdatu0(2) '/' it_final-bdatu+3(2) INTO it_final-bdatu.
          WHEN 6.
            CONCATENATE it_final-vdatu6(4) '-' it_final-vdatu0(2) '-' it_final-vdatu+3(2) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu6(4) '-' it_final-bdatu0(2) '-' it_final-bdatu+3(2) INTO it_final-bdatu.
    ***End of Changes by Pavan                       "D13K945062
          WHEN 'A'.
            CONCATENATE it_final-vdatu6(4) '/' it_final-vdatu3(2) '/' it_final-vdatu+0(2) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu6(4) '.' it_final-bdatu3(2) '.' it_final-bdatu+0(2) INTO it_final-bdatu.
          WHEN 'B'.
            CONCATENATE it_final-vdatu6(4) '/' it_final-vdatu3(2) '/' it_final-vdatu+0(2) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu6(4) '.' it_final-bdatu3(2) '.' it_final-bdatu+0(2) INTO it_final-bdatu.
          WHEN 'C'.
            CONCATENATE it_final-vdatu6(4) '/' it_final-vdatu3(2) '/' it_final-vdatu+0(2) INTO it_final-vdatu.
            CONCATENATE it_final-bdatu6(4) '.' it_final-bdatu3(2) '.' it_final-bdatu+0(2) INTO it_final-bdatu.
        ENDCASE.
          AT NEW werks.
        CLEAR s_count.
        REFRESH : it_bdcdata[], it_eord1[].
        PERFORM bdc_dynpro USING  'SAPLMEOR' '0200'.
        PERFORM bdc_field USING : 'EORD-MATNR' it_final-matnr,
                                  'EORD-WERKS' it_final-WERKS,
                                  'BDC_OKCODE' '/00'.
        PERFORM bdc_dynpro USING  'SAPLMEOR' '0205'.
    **Adding preceeding Zeroes to the Material No
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = it_final-matnr
          IMPORTING
            OUTPUT = v_matnr.
    **To know the Number of records in EORD after Updating with new records
        SELECT vdatu
               bdatu FROM EORD
                     INTO TABLE it_eord1
                     WHERE matnr = v_matnr
                       AND werks = it_final-werks.
        DESCRIBE TABLE it_eord1 LINES v_eord_row.
        s_count = v_eord_row + 1.
          ENDAT.
        CONCATENATE 'EORD-VDATU(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-VDATU.
        CONCATENATE 'EORD-BDATU(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-BDATU.
        CONCATENATE 'EORD-EKORG(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam  it_final-EKORG.
        CONCATENATE 'EORD-LIFNR(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-LIFNR.
        CONCATENATE 'EORD-RESWK(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-RESWK.
        CONCATENATE 'EORD-EBELN(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-EBELN.
        CONCATENATE 'EORD-EBELP(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-EBELP.
        CONCATENATE 'RM06W-FESKZ(' s_count ')' INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-FESKZ.
        CONCATENATE 'EORD-NOTKZ(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-NOTKZ.
        CONCATENATE 'EORD-AUTET(' s_count ')'  INTO v_fnam.
        PERFORM bdc_field USING : v_fnam it_final-AUTET.
         AT END OF werks.
        PERFORM bdc_field USING 'BDC_OKCODE' '=BU'.
        REFRESH it_messtab[].
        CALL TRANSACTION 'ME01' USING it_bdcdata
                                OPTIONS FROM it_ctu_params
                                    MODE 'A'
                                  UPDATE 'L'
                             MESSAGES INTO it_messtab.
        IF SY-SUBRC NE 0.
          it_err_rec-matnr = it_final-matnr.
          it_err_rec-werks = it_final-werks.
          it_err_rec-vdatu = it_final-vdatu.
          it_err_rec-bdatu = it_final-bdatu.
          it_err_rec-lifnr = it_final-lifnr.
          it_err_rec-ekorg = it_final-ekorg.
          it_err_rec-reswk = it_final-reswk.
          it_err_rec-ebeln = it_final-ebeln.
          it_err_rec-ebelp = it_final-ebelp.
          it_err_rec-feskz = it_final-feskz.
          it_err_rec-notkz = it_final-notkz.
          it_err_rec-autet = it_final-autet.
          APPEND it_err_rec.
          CLEAR it_err_rec.
          PERFORM format_message.
        ENDIF.
         ENDAT.
      ENDLOOP.
    **To Upload the Error Records into another Excel File
      IF NOT it_err_rec[] IS INITIAL.
        PERFORM errors_file.
        DESCRIBE TABLE it_err_rec LINES v_err_rec.
        v_errors = v_err_rec - 1.
      ELSE.
        v_errors = 0.
      ENDIF.
      v_updated = v_lines - v_errors.
      WRITE : /2 'RUN DATE    :' color COL_NORMAL, 20 sy-datum,
              /2 'RUN TIME    :' color COL_NORMAL, 20 sy-uzeit.
      SKIP 2.
      WRITE : /2 'FILE PATH   :' color COL_NORMAL, 20 p_fname.
      SKIP 2.
      WRITE : /2 'RESULTS' color COL_NORMAL.
      SKIP.
      WRITE : /2 'Number of Rows in the Upload File  :' color COL_NORMAL, v_lines,
              /2 'Number of Rows Updated             :' color COL_NORMAL, v_updated,
              /2 'Number of Error Records            :' color COL_NORMAL, v_errors.
      IF it_errmsg[] IS NOT INITIAL.
        SKIP 2.
        WRITE : /2 'Details of the Error Records' color COL_NORMAL.
        SKIP.
        ULINE.
        FORMAT COLOR COL_NORMAL.
        WRITE : /2 'Material',
                22 'Plant',
                28 'Valid From',
                40 'Valid To',
                52 'Vendor',
                64 'Porg',
                70 'PPL',
                76 'Agreement',
                88 'Item',
                94 'Fix',
                98 'Blk',
                102 'MRP',
                106 'Err. Description'.
        FORMAT COLOR OFF.
        ULINE.
        LOOP AT it_errmsg.
          AT NEW autet.
            WRITE : /2 it_errmsg-matnr,
                    22 it_errmsg-werks,
                    28 it_errmsg-vdatu,
                    40 it_errmsg-bdatu,
                    52 it_errmsg-lifnr,
                    64 it_errmsg-ekorg,
                    70 it_errmsg-reswk,
                    76 it_errmsg-ebeln,
                    88 it_errmsg-ebelp,
                    94 it_errmsg-feskz,
                    98 it_errmsg-notkz,
                    102 it_errmsg-autet.
          ENDAT.
          WRITE    106 it_errmsg-messg.
        ENDLOOP.
      ENDIF.
                     E N D   O F   S E L E C T I O N                     *
    END-OF-SELECTION.
    *&      Form  file_get
          Selects the File Name and Path
    FORM file_get .
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          PROGRAM_NAME  = v_repid
          DYNPRO_NUMBER = SYST-DYNNR
          FIELD_NAME    = p_fname
        CHANGING
          FILE_NAME     = p_fname
        EXCEPTIONS
          MASK_TOO_LONG = 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.
    ENDFORM.                    " file_get
    *&      Form  upload_xcel
          Uploading data to an Internal Table
    FORM upload_xcel .
      DATA: BEGIN OF it_intern OCCURS 0.
              INCLUDE STRUCTURE ALSMEX_TABLINE. " Rows for Table with Excel Data
      DATA: END OF it_intern.
      DATA v_no_rows  TYPE i VALUE 9999.
      FIELD-SYMBOLS : <fs1>.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          FILENAME                = P_FNAME
          I_BEGIN_COL             = c_1
          I_BEGIN_ROW             = c_1
          I_END_COL               = c_12
          I_END_ROW               = v_no_rows
        TABLES
          INTERN                  = it_intern
        EXCEPTIONS
          INCONSISTENT_PARAMETERS = 1
          UPLOAD_OLE              = 2
          OTHERS                  = 3.
      IF SY-SUBRC NE 0.
        MESSAGE text-016 TYPE 'I'.
      ENDIF.
      LOOP AT it_intern.
        ASSIGN COMPONENT it_intern-col OF STRUCTURE
        it_final TO <fs1>.
        IF sy-subrc NE 0.
          EXIT.
        ENDIF.
        <fs1> = it_intern-value.
        AT END OF row.
          APPEND it_final.
          CLEAR  it_final.
        ENDAT.
      Endloop.
      FREE it_intern.
    ***To Delete the Headings from the Internal Table.
      DELETE it_final WHERE matnr CA 'MATmat'.
    ENDFORM.                    " upload_xcel
    *&      Form  bdc_dynpro
          Populate Screen Name
    FORM bdc_dynpro  USING    PROGRAM
                              DYNPRO.
      CLEAR it_bdcdata.
      it_bdcdata-PROGRAM  = PROGRAM.
      it_bdcdata-DYNPRO   = DYNPRO.
      it_bdcdata-DYNBEGIN = 'X'.
      APPEND it_bdcdata.
    ENDFORM.                    " bdc_dynpro
    *&      Form  bdc_field
         Populate Screen Field
    FORM bdc_field  USING    FNAM
                             FVAL.
      IF FVAL <> SPACE.
        CLEAR it_bdcdata.
        it_bdcdata-FNAM = FNAM.
        it_bdcdata-FVAL = FVAL.
        APPEND it_bdcdata.
      ENDIF.
    ENDFORM.                    " bdc_field
    *&      Form  bdc_field
         Populate Screen Field
    FORM bdc_field1   USING   FNAM
                             FVAL.
      CLEAR it_bdcdata.
      it_bdcdata-FNAM = FNAM.
      it_bdcdata-FVAL = FVAL.
      APPEND it_bdcdata.
    ENDFORM.                    " bdc_field
    *&      Form  errors_file
          Downloads the Error Records
    FORM errors_file .
      DATA : l_fname  TYPE string,
             l_var1   TYPE string,
             l_var2   TYPE string.
      l_fname = p_fname.
      SPLIT l_fname at '.' into l_var1 l_var2.
      CONCATENATE l_var1 '_error.' l_var2 INTO l_fname.
    **To Write the Headings in the Excel File
      it_err_rec-matnr = text-003.
      it_err_rec-werks = text-004.
      it_err_rec-vdatu = text-005.
      it_err_rec-bdatu = text-006.
      it_err_rec-lifnr = text-007.
      it_err_rec-ekorg = text-008.
      it_err_rec-reswk = text-009.
      it_err_rec-ebeln = text-010.
      it_err_rec-ebelp = text-011.
      it_err_rec-feskz = text-012.
      it_err_rec-notkz = text-013.
      it_err_rec-autet = text-014.
      INSERT it_err_rec INDEX 1.
      CLEAR it_err_rec.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME                = l_fname
          FILETYPE                = 'DAT'
         APPEND                  = ' '
         CONFIRM_OVERWRITE       = ' '
        TABLES
          DATA_TAB                = it_err_rec
        EXCEPTIONS
          FILE_WRITE_ERROR        = 1
          NO_BATCH                = 2
          GUI_REFUSE_FILETRANSFER = 3
          INVALID_TYPE            = 4
          NO_AUTHORITY            = 5
          UNKNOWN_ERROR           = 6
          HEADER_NOT_ALLOWED      = 7
          SEPARATOR_NOT_ALLOWED   = 8
          FILESIZE_NOT_ALLOWED    = 9
          HEADER_TOO_LONG         = 10
          DP_ERROR_CREATE         = 11
          DP_ERROR_SEND           = 12
          DP_ERROR_WRITE          = 13
          UNKNOWN_DP_ERROR        = 14
          ACCESS_DENIED           = 15
          DP_OUT_OF_MEMORY        = 16
          DISK_FULL               = 17
          DP_TIMEOUT              = 18
          FILE_NOT_FOUND          = 19
          DATAPROVIDER_EXCEPTION  = 20
          CONTROL_FLUSH_ERROR     = 21
          OTHERS                  = 22.
      IF SY-SUBRC EQ 0.
        MESSAGE text-015 TYPE 'S'.
      ENDIF.
    ENDFORM.                    " errors_file
    *&      Form  format_message
          To Write the Error Records
    FORM format_message .
      IF NOT it_messtab[] IS INITIAl.
        LOOP AT it_messtab.
          IF it_messtab-msgtyp = 'E'.
            CALL FUNCTION 'FORMAT_MESSAGE'
              EXPORTING
                ID        = it_messtab-msgid
                LANG      = sy-langu
                NO        = it_messtab-msgnr
                V1        = it_messtab-msgv1
                V2        = it_messtab-msgv2
                V3        = it_messtab-msgv3
                V4        = it_messtab-msgv4
              IMPORTING
                MSG       = v_message
              EXCEPTIONS
                NOT_FOUND = 1
                OTHERS    = 2.
            IF SY-SUBRC EQ 0.
              it_errmsg-matnr = it_final-matnr.
              it_errmsg-werks = it_final-werks.
              it_errmsg-vdatu = it_final-vdatu.
              it_errmsg-bdatu = it_final-bdatu.
              it_errmsg-ekorg = it_final-ekorg.
              it_errmsg-lifnr = it_final-lifnr.
              it_errmsg-reswk = it_final-reswk.
              it_errmsg-ebeln = it_final-ebeln.
              it_errmsg-ebelp = it_final-ebelp.
              it_errmsg-feskz = it_final-feskz.
              it_errmsg-notkz = it_final-notkz.
              it_errmsg-autet = it_final-autet.
              it_errmsg-messg = v_message.
              APPEND it_errmsg.
              CLEAR : it_errmsg, v_message.
            ENDIF.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " format_message
    *&      Form  plant_conversion
         Adding preceeding Zeroes
         -->P_IT_FINAL_WERKS  text
    FORM plant_conversion  USING    P_VAR.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
          EXPORTING
            INPUT  = P_VAR
          IMPORTING
            OUTPUT = P_VAR.
    ENDFORM.                    " plant_conversion
    Hope it helps!!!
    Regards,
    Pavan

  • WD Exercise : Validating and Non-Validating Actions

    Hi Experts!
      I am doing the validating and non-validating exercise based on the SDN document<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/wd%20java/wd%20tutorials/web%20dynpro%20sample%20applications%20and%20tutorials.htm#6">here</a>.
    When I download the already done application, it works quite well. However, when I try to make it on my own, I encountered following problems:
    1. I could not write labels as [married since] on the radio button.
    2. I could not do the data mapping from the view controller to the component controller.
    As a result I have not been able to deploy the application.
    The <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webdynpro/wd%20java/wd%20tutorials/using%20validating%20and%20non-validating%20actions.pdf">document</a> I am refering to, has a explanation of the application contents.
    But does anybody know if there is a manual for creating this application?
    Many thanks
    Regards,
    Sudeep

    Hi
    For your problem
    1.I could not write labels as [married since] on the radio button
      Use the <b>text</b> property to assign labels to radio button
    Check the sample whether its using radiobutton group?
    2.I could not do the data mapping from the view controller to the component controller
    You can only map from component controller to view controller.
    Regards
      Ayyapparaj

  • What is the difference between organisation payment method and Assignment payment method?

    What is the difference between organisation payment method and Assignment payment method?
    As i am a new bie, i am curious to know this though it might sound a silly question.
    Thank you,
    Kuton

    You can create an Organization payment method of any Payment type(Cash, Check, BACS, NACHA etc) under the same country.
    All these will be valid payment methods on the payroll description form.
    And you can even attach these to a person.
    In which case you will have a Base currency (say USD) and payment currency (say GBP).
    These cases are not normal and only used by people who use a single BG for paying employees in 3-4 countries.
    So, unless you need to pay in different currencies, do not use it.
    Cheers,
    Vignesh

  • PO Error "Please specify valid account assignment"

    Hi,
    I have a PO , when i undelete service PO and reorder getting erro saying  that 'Purchase order
    65XXXXXXXX: Instance 650XXXXXX of object type Purchase Order could not
    be changed' and Please specify valid account assignment
    Can any pne suggest what are the setting i need to check
    Thanks
    Jairaj

    Hi,
    Thanks for reply,
    There is no follow on document created, this is a service purchase order and after deleting 3 line items and again undelete the PO goes to error in process saying that" please assign valid account assignment"
    Backend application error
    EBP PO, and have extended classic scenario
    i have found some notes not sure is this applicable 1090613
    Regards,
    jairaj
    Edited by: Jairaj B.Mahaling on Dec 16, 2008 7:33 PM

  • Please specify a valid account assignment

    Hi Friends,
    This issue is in Extended classic scenario..Some times, we are getting the following error message in RZ20.
    - Pease specify a valid account assignment
    - Transfer failed
    - PO Instance of the object type PO could not be changed
    We unable replicate this issue in Quality system...
    This is issue is in changing Purchase Order...Here user has changed the currency from SEK to EUR
    Please help on this
    Thanks
    Shrini

    Hi Shrinivas,
    Please advice how did you resolve this issue.
    We have similar issue where the PO was initially created in GBP currency and later they changed the currency to EUR in SRM.
    Now they want to change the corresponding net price to the converted EUR value from e.g. 95GBP to 101 EUR.
    At this point we get the error message "Please specify a valid account assignment".....
    thanks in advance for your response.
    Vinod
    Edited by: Vinod FERNANDEZ on Aug 1, 2011 9:26 PM

  • Running Windows XP service pack 3. Updated Firefox from 8.0 to 9.0. Now when Firefox opens "The URL is not valid and cannot be loaded" is displayed in a window and no home page appears. What's wrong?

    Running Windows XP service pack 3. Updated Firefox from 8.0 to 9.0. Now when Firefox opens "The URL is not valid and cannot be loaded" is displayed in a window and no home page appears. What's wrong?

    That issue can be caused by an extension that isn't working properly.
    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > Appearance/Themes).
    *Don't make any changes on the Safe mode start window.
    *https://support.mozilla.com/kb/Safe+Mode
    *https://support.mozilla.com/kb/Troubleshooting+extensions+and+themes

  • Why do i keep getting an Alert message saying "The URL is not valid and cannot be loaded "?

    Why do i keep getting an Alert message saying "The URL is not valid and cannot be loaded "?
    This happens a lot regardless of the web page. I continually have to restart FF and it persists still

    Start Firefox in [[Safe Mode]] to check if one of the add-ons is causing the problem (switch to the DEFAULT theme: Tools > Add-ons > Themes).
    * Don't make any changes on the Safe mode start window.
    See:
    * [[Troubleshooting extensions and themes]]
    * [[Troubleshooting plugins]]
    If it does work in Safe-mode then disable all extensions and then try to find which is causing it by enabling one at a time until the problem reappears.
    * Use "Disable all add-ons" on the [[Safe mode]] start window to disable all extensions.
    * Close and restart Firefox after each change via "File > Exit" (Mac: "Firefox > Quit"; Linux: "File > Quit")

  • The URL is not valid and cannot be loaded

    seems like maybe firefox mishandles untrusted certificates?
    It gives error: Alert The URL is not valid and cannot be loaded.
    example:
    https://notes.corp.cat.com/
    other browsers can load this URL just fine. When I visit it in Firefox, I get the error in a simple little message box with a yellow triangle exclamation point, titled "Alert".
    ALSO.... when I click the "Home" button in firefox, I get the error, and the home page does not load. Currently the home page is set to "Mozilla Firefox Start Page."
    changing the home page to: http://www.google.com/ allows the home page button to work normally.
    restoring the home page to default brings the error behavior back when clicking the home button.
    changing the home page to: https://notes.corp.cat.com/ produces the same error, just like when I manually type in an https URL with a funky security certificate.
    This problem only seems to happen on secure URLs with untrusted certificates, i.e. sites that are too cheap to pay to have their certificate registered with one of the certificate vendors or however the hell that works, so as a result every time you visit their web site, your browser starts to whine that it might be a forgery or whatever.
    It used to be in Firefox that I could load these pages and just specify that I want to trust the site anyway. Now firefox gives this error that doesn't allow the user to know what is really going on or what the reason for the error is. It is as if the developers decided that users are too stupid to decide if they really want to visit the site or not, so as a result Firefox is just refusing to visit any web sites where the authenticity of the certificate can't be verified? Hey, it's not a bad idea, to be honest. :-) But it's kind of annoying, because here I am, sort of smart enough to know what I'm doing, but I don't have the choice in the matter...
    I restarted with all add-ons disabled and that didn't help. I don't have much installled in the way of add-ons anyway. All I have is JAVA quick starter 1.0, and Adobe Acrobat, Java development toolkit, Java platform SE, Microsoft DRM, and Windows Media Player Plug-in Dynamic Link Library. Not even Flash. All the above is disabled now that I rebooted with add-ons disabled, and I still have the issue.
    thanks for any help you can provide.

    Please [https://bugzilla.mozilla.org/show_bug.cgi?id=713167 see this.] Installing [https://www.microsoft.com/download/en/details.aspx?id=5638 Visual C++ 2005 SP1] or the .Net Framework 3.5 SP1 may help mitigate the issue.

Maybe you are looking for

  • Not able to get the Aduit log details through webservices

    Hi Team, I am trying to get the audit log details using according to Michal's PO/PI tips: Audit Logs from a native WS - new feature  but i am getting following result  i have used key = new MessageKey(msg.getMessageId(), msg.getMessageDirection()); -

  • SPDIF-In on X-Fi Plati

    Hey all. I just bought an X-Fi Platinum. I have a PS2 hooked up to the SPDIF-In plug on my I/O module (and my tv card), and I was wondering how I could get the sound from there to play on my speakers. I expected it would happen automatically, but it

  • Customizing the shipping options in the cart?

    Hey Everybody, I've got a client that just ABSOLUTELY does not like the way that the "integrated" shipping options are displayed. Currently if you have USPS and FEDEX both as shipping options. A user would have select one of the two from a dropdown,

  • Disk Utility says I need to repair disk

    My computer is running a little sluggish so I went into the Disk Utility and selected verify disk. I got the message below. I inserted the OS X disk but the repair disk option wasn't available. I bought the computer with Panther and got Tiger later,

  • Can't Open Premire CS6 Projects in new Premier CC

    Hi, After a major equipment failure my company's IT guy re-installed the latest available version of Premier, CC.  For the past year I've been using CS6, and now I'm finding I can't open previous projects.  Is there a way to fix this using CC or woul