Validate Company code entered against object F_BKPF_BUKu0096BUKRS in useru0092s rol

Validate Company code entered in the selection-screen against the object F_BKPF_BUK–BUKRS in user’s roles.
If value entered in selection is not found in authorisation object, display error message “Company code access is prohibited”
can anyone explain How to write the code for this
Thank you.

Hi,
there are lots of FM to get User details by just passing sy-uname.
Just search BAPI_USER* and you will get one suitable to you.
Regards,
Atish

Similar Messages

  • How to validate Compnay Codes entered through PFCG Transaction

    Hi friends,
                  I am uploading EXCEL File containing company codes for different combinations of Role and Organization elements.Now I have to validate these compnay codes with those entered into System through the PFCG Transaction .Gor Eg.In file AA01 - AA10 is the Range of Company code while in System
    AA01- AA08,
    AA09,
    AA11,
    AA22
            These can be different Low and High values of company codes.How can i validate file with the System .In this case I can't use T001 Table as these codes are enterd into system which can later be Implemented and all other Org.Level settings will done later.If anyone have any idea,plz let me know.

    Hello Helena Marková-
    Thanks for the reply.
    Can you explain in detail what does your steps will do.
    Creating when-validate-item trigger on item adj_flag will work as it is at the item level trigger and it will fire whenever the user changes that item. But, I want to do the validations after user entered/changed all the values, I mean do the validations when user is trying to save at the very end.
    Reason being that, by having trigger at item level will work fine, but, validations include to compare the data over the db_link, so for every change in adj_flag the trigger will fire and validation will happen using db_link which could be slow process.
    I want to do the validations at the very end so if user changes that particular item many times, and see the test case I mentioned, where it validates even when there is no change in the focused item.
    Thanks,
    r2b.

  • FB60 enhancement to validate Company Code

    Hi,
    I have to do the validation for Company code in Tcode FB60. The issue iam unable to get the correct enhance ment for tis.
    i have tried following enhancements.
    F050S001            FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment
    F050S002            FIDCC1: Change IDoc/do not send
    F050S003            FIDCC2: Change IDoc/do not send
    F050S004            FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not send
    F050S005            FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document
    F050S006            FI Outgoing IDoc: Reset Clearing in FI Document
    F050S007            FIDCCH Outbound: Influence on IDoc for Document Change
    F180A001            Balance Sheet Adjustment
    FARC0002            Additional Checks for Archiving MM Vendor Master Data
    RFAVIS01            Customer Exit for Changing Payment Advice Segment Text
    RFEPOS00            Line item display: Checking of selection conditions
    RFKORIEX            Automatic correspondence
    SAPLF051            Workflow for FI (pre-capture, release for payment)
    Thanks,
    Deepthi.

    Hi,
    My requirement is changed now.
    I need to get a user exit or badi where after entering the header data and only ONE LINE ITEM data and press enter key, I should get the Header Company code and Line Item Company code in one enhnacement. I must valdate these 2 fields.
    Regards,
    Deepthi.

  • Cross Company Code Charging Against WBS

    I am trying to understand if Company Code A can charge against a WBS that was created by Company Code B.  In the scenario I am working with, we have a single controlling area with multiple company codes.  The people reside in Company Code A.  Production execution is carried out in Compmany Code B.  Can the human resources which reside in Company Code A charge against a WBS created in Company Code B?

    Hi,
    You can charge Company Code B for the services rendered.
    You have to configure DIP profile for that. In DIP profile you define the range of the cost elements to considered and can group them under a billing line item. For example
    Cost element range 5000001 to 500008 can be named as  Consulting Costing.
    And you can raise Billing request from the WBS itself. When you that, in Billing Doc, line item will appear as Consulting Costing = 30. In Billing request you can mention all condition types along with profit margin.
    Thanks
    Saikishore.Ganga

  • Retreive company code data  from t001k and plants from t001w based on bwkey

    here is my sample code pls.
      pls look into the  perform <b>PERFORM F_GET_COMPANY_CODE</b>.
    and also the link between the tables (custom) like ysda_exp_prtlog,
         Purpose:  The Monthly export declaration summarizes all SAD     *
                   export documents produced by the system. For each     *
                   plant in France this declaration has to be handed to  *
                   the Customs Authorities, together with copies of all  *
                   invoices mentioned in the report.                     *
         Preds/Successors : -                                            *
         External Datasets: -                                            *
         INCLUDE PROGRAM  : YYSDFORM                                     *
           MODIFICATION LOG
    Date  | Change Number | Initials | Description
    *01/10/03| G9DK943416    | AXJIRAP  | INITIAL PROGRAM                  *
    *03/10/03| G9DK943416    | TXHONGP  | CREATE PRINT-PROGRAM FOR ACCELIO *
    *26/10/03| G9DK943416    | KXSAWAS  | Merge all Accelio forms into one *
    *02/02/04| G9DK959869    | KXSAWAS  | Bug fix for Intercompany invoice *
           |               |          | and updating printing no. in     *
           |               |          | YSDA_DOC_NUMBER.
    *09/02/04| G9DK960368    | KXSAWAS  | TICKET AM6219029 various fix     *
           | G9DK960972    | KXUMNAUY | -Add yuei for download file      *
           | G9DK961073    |          | -Calculate invoice in case       *
           | G9DK961190    |          |  invoce is not yet made          *
           | G9DK961211    |          | -Fixed message type when there is*
           |               |          | no data found                    *
    *18/02/04| G9DK961418    | PXSOPHO  | -Shift the position in download  *
           |               |          | file
    *26/02/04| G9DK962077    | kxumnauy | TICKET AM6219029 various fix     *
           | G9DK962238    |          | TICKET AM6289971 fix export file *
           | G9DK962271    |          |
    *18/03/04| G9DK963806    | PXSOPHO  | TICKET AM6442955,AM6384438
           | G9DK964432    |          | - print only 4 chars of the
           | G9DK964590    |          | export procedure                 *
           |               | KXUMNAUY | - Fix internal report
           |               | KXSAWAS  | - Fix invoice currency to EUR.
           |               |          | - Fix SUASUNIC probelm when
           |               |          |   download file
    *09/06/04| G9DK968994    | KXUMNAUY |TICKET AM6789203
           | G9DK969188    |          |- Fix box 4 to print the department
           | G9DK969246    |          |code(first 2 char of the postal)
           | G9DK969319    |          |- Fix to print all invoice numbers
           | G9DK969345    |          |reported in the section 3
           | G9DK969466    |          |- Fix in case invoice currency is
           |               |          |not EUR, use local currency from
           |               |          |accounting document
           |               |          |- Fix in case there are different
           |               |          |codes are loaded on one truck
           |               |          |- Fix the invoice amount in column
           |               |          |27 has to be the amount relating to
           |               |          |the line item
           |               |          |- Fix the issue that Pro forma
           |               |          |invoice for STO (ZF8)shouldn't be
           |               |          |counted to be the final Interco
           |               |          |invoice
    *20/08/04| G9DK972875    | KXUMNAUY |AM7387219
           | G9DK973032    |          |-Exclude samples from the internal
           |               |          |sections 1 and 2
           |               |          |-Data pages: Column 11. When the
           |               |          |invoice amount is less then 1.000
           |               |          |EUR and the quantity is less then.
           |               |          |1.000 then "******" (6 x *) has to
           |               |          |be printed
    *07/02/05| G9DK983160    | RXBOONG  |AM8522207
           | G9DK983168    |          |Fix download to unix file
    *17/08/06| G9DK9A02DZ    | NKONGNG  |AM1983727:
           | G9DK9A02IK    |          |-do not show sample orders
           |               |          | (order type “FD” or ”ZFD”)
           |               |          |AM2985407:
           |               |          |-skip all “T2L*” documents
    *15/12/06| G9DK9A05GB    | ZZPWANA  | AM10208238
           |               | The Monthly Export Declaration for plant FR95
           |               | is showing invoice amounts in SGD in column
           |               | 27, where amounts in EUR should be shown. As
           |               | the amounts are labeled as EUR in column 26
           |               | this is unacceptable.The second issue is that
           |               | there are no invoice numbers shown in column
           |               | REM.
           |               | >> ZZPWANA:AM10208238:G9DK9A05GB <<
           |               | >> ZZPWANA:AM10208238:G9DK9A05GJ <<
    *05/02/07| G9BK900812    | PPATTAN  |AM10687113
           | G9DK9A0661    |          |Correction to the Monthly Export
           |               |          |Declaration – alpha character to
           |               |          |numeric field
           |               |
    *09/07/07| G9DK9A09ND    |VSRKODA   Replace plant with companycode,add
                                      new  column plant ,add new logic to
                                      verify that we had received *  *
                                      BAEcOMPLETE RESPONSE (fROM FC)
                                      for all the export transactions
    REPORT YSDF5092 LINE-SIZE   310
                    LINE-COUNT   65
                    NO STANDARD PAGE HEADING
                    MESSAGE-ID YSD_GENERAL.
         INCLUDE PROGRAM FOR ACCELIO                                     *
    INCLUDE YYSDFORM.    "Include for Accelio Print Process
    INCLUDE YSDF006B_INCLUDE.
         T A B L E S                                                     *
    TABLES: NAST.
         T Y P E S                                                       *
    TYPES : BEGIN OF TY_RAW,
              WERKS LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
              BWKEY  LIKE  YSDA_EXP_PRTLOG-YY_PLANT,
              VALUE_FROM  LIKE  YCACEDI-VALUE_FROM,
    *<-- End of G9DK9A09ND
              HEADER_SHT LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,  "G9DK962238
              PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
              PRINT_TIME LIKE YSDA_EXP_PRTLOG-YY_PRINT_TIME,
              DOCUMENT_CODE LIKE YSDA_EXP_PRTLOG-YY_DOCUMENT_CODE,
              HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              DELIVERY LIKE YSDA_EXP_PRTLOG-YY_DELIVERY,
              INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
              EX_RATE LIKE YSDA_EXP_PRTLOG-YY_EX_RATE,
              CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
             INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO, "G9DK962238
              EXTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_EXTERNAL_NO,
              COMMODITY LIKE YSDA_EXP_PRTLOG-YY_COMMODITY,
              REPORT_FLAG LIKE YSDA_EXP_PRTLOG-YY_REPORT_FLAG,  "G9DK962077
            END OF TY_RAW.
    TYPES : BEGIN OF TY_DATA,
              HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
              PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
              ZOLLA LIKE EIKP-ZOLLA,
              STGBE LIKE EIKP-STGBE,
              EXPVZ LIKE EIKP-EXPVZ,
              CONTA LIKE EIKP-CONTA,
              IEVER LIKE EIKP-IEVER,
              PDEST LIKE KNA1-LAND1,
              1DEST LIKE KNA1-LAND1,
              COMMODITY LIKE YSDA_EXP_PRTLOG-YY_COMMODITY,
              STATISTIC TYPE I,
              LFIMG LIKE LIPS-LFIMG,
              L15 TYPE I,
              REGFI(2),
              CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
              INVOICE_AMT TYPE I,
              ZDELN LIKE VBRK-VBELN,
              LIVRE(4),
              EXPRF LIKE EIPO-EXPRF,
              EXART LIKE EIPO-EXART,
              NTGEW LIKE LIKP-NTGEW,
              YY_SEQTAXNO LIKE VBRK-YY_SEQTAXNO,                "G9DK959869
            END OF TY_DATA.
    TYPES : BEGIN OF TY_HEADER,
              HEADER_SHT LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
              PRINT_NO LIKE YSDA_DOC_NUMBER-YY_PRINT_NO,
              WERKS LIKE T001W-WERKS,
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
              BUKRS  LIKE T001K-BUKRS,
              BWKEY  LIKE  T001K-BWKEY,
              VALUE_FROM LIKE YCACEDI-VALUE_FROM,
    *<-- End of G9DK9A09ND
              NAME1 LIKE T001W-NAME1,
              COM_NAME LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              POST_LOC LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              CUST_OFFICE LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              POST_CODE LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              DATE(25),
              ETAB LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              NO_SIREN LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT2 LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT5 LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT7A LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT7B LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
              TEXT8 LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
            END OF TY_HEADER.
    TYPES : BEGIN OF TY_DELIVERY,
              VBELN LIKE LIKP-VBELN,
              POSNR LIKE LIPS-POSNR,                            "G9DK961190
              VBUND  LIKE LIKP-VBUND,
              LFIMG LIKE LIPS-LFIMG,
              MEINS LIKE LIPS-MEINS,
              EXNUM LIKE LIKP-EXNUM,
              KUNNR LIKE LIKP-KUNNR,
              KUNAG LIKE LIKP-KUNAG,
              L15 LIKE LIPS-LFIMG,
              WADAT_IST LIKE LIKP-WADAT_IST,
              LDDAT LIKE LIKP-LDDAT,
              NTGEW LIKE LIKP-NTGEW,
              MATNR LIKE MARA-MATNR,
              VRKME LIKE LIPS-VRKME,                            "G9DK960368
              VGBEL LIKE LIPS-VGBEL,                            "G9DK961190
              VGPOS LIKE LIPS-VGPOS,                            "G9DK961190
              UECHA LIKE LIPS-UECHA,                            "G9DK961190
            END OF TY_DELIVERY.
    TYPES : BEGIN OF TY_INVOICE,
              ZDELN LIKE VBRK-VBELN,
              NETWR LIKE VBRK-NETWR,
              WAERK LIKE VBRK-WAERK,
              KURRF LIKE VBRK-KURRF,
              FKIMG LIKE VBRP-FKIMG,
              VRKME LIKE VBRP-VRKME,
            END OF TY_INVOICE.
    TYPES : BEGIN OF TY_INVOICE_TEMP,
              ZDELN LIKE VBRK-VBELN,
              FKART LIKE VBRK-FKART,
              YY_SEQTAXNO LIKE VBRK-YY_SEQTAXNO,
            END OF TY_INVOICE_TEMP.
    TYPES : BEGIN OF TY_EXPORT,
              EXNUM LIKE EIKP-EXNUM,
              ZOLLA LIKE EIKP-ZOLLA,
              STGBE LIKE EIKP-STGBE,
              EXPVZ LIKE EIKP-EXPVZ,
              CONTA LIKE EIKP-CONTA,
              IEVER LIKE EIKP-IEVER,
              EXPRF LIKE EIPO-EXPRF,
              EXART LIKE EIPO-EXART,
              EXPOS LIKE EIPO-EXPOS,                            "G9DK961190
              STAWN LIKE EIPO-STAWN,                            "G9DK961190
            END OF TY_EXPORT.
    TYPES : BEGIN OF TY_HFILE,
              POS1(8),
              POS2(4),
              POS3(2),
              POS4,
              POS5(8),
              POS6(4),
              POS7(14),
              POS8(20),
              POS9(20),
              POS10(20),
              POS11(8),
            END OF TY_HFILE.
    TYPES : BEGIN OF TY_DFILE,
             pos1(18),                                        "G9DK961418
             POS1(19),                                        "G9DK961418
              POS1(18),                                         "G9DK962238
              POS2(4),
              POS3(8),
              POS4(6),
              POS5(6),
              POS5A(4),
              POS6(9),
              POS6A(5),                                         "G9DK962238
              POS7(5),
              POS8(5),
              POS8A(22),
              POS9,
              POS10,
              POS11,
              POS12,
              POS13(5),
              POS13A,
              POS14(13),
              POS14A(31),
              POS15(2),
              POS16(2),
              POS16A(3),
              POS17(4),
              POS17A(3),
              POS18(3),
              POS18A(9),                                        "G9DK962238
              POS19,
              POS20(11),
              POS21(11),
              POS22(10),
              POS23(10),
              POS23A(40),
              POS24(4),
              POS25(3),
              POS26,
              POS26A,
              POS27,
              POS28(3),
              POS29,
            END OF TY_DFILE,
            BEGIN OF TY_TVKO,                                   "G9DK959869
              VKORG     LIKE TVKO-VKORG,                        "G9DK959869
              BUKRS     LIKE TVKO-BUKRS,                        "G9DK959869
              KUNNR     LIKE TVKO-KUNNR,                        "G9DK959869
            END OF TY_TVKO.                                     "G9DK959869
         D A T A                                                         *
    DATA: GV_CUST_NUM LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
          GV_SIREN LIKE YSDA_DOC_FIXTEXT-YY_TEXT,
          GV_REP_NO LIKE YSDA_DOC_NUMBER-YY_PRINT_NO,
          GV_SEQ_NO TYPE I VALUE 0,
          GV_PRNTER     LIKE TSP01-RQDEST,      "Printer Name
          GV_DATE(8)   TYPE C,       "DATE
          GV_MONTH(2)  TYPE C,       "MONTH
          GV_DAY(2)    TYPE C,       "DAY
          GV_YEAR(4)   TYPE C,       "YEAR
          GV_ADD1(30)  TYPE C,       "TEXT-SIMBOL H01A
          GV_ADD2(30)  TYPE C,       "TEXT-SIMBOL H01B
          GV_COUNT     TYPE I,       "COUNT SEQUENCE
          GV_SEQUENCE(5) TYPE C,     "SEQUENCE
          GV_COPYNO    TYPE C,       "NUMBER OF COPY
          GV_DATETEMP(10)  TYPE C,   "DATE
          GV_SECTIONPAGE(2)   TYPE C,   "NO. OF PAGE IN SECTION
          GV_ITEM             TYPE I,   "NO. OF ITEM
          GV_EUR       LIKE VBRK-WAERK VALUE 'EUR',
          GV_INVOICE_NO       LIKE VBRK-VBELN,                  "G9DK959869
          GV_INVOICE_INTERCOM LIKE VBRK-VBELN,                  "G9DK959869
          GV_PRO_FORMA_STO    LIKE VBRK-VBELN,                  "G9DK969466
          GV_TEXT46           LIKE YSDA_DOC_FIXTEXT-YY_TEXT.    "G9DK959869
         C O N S T A N T S                                               *
    CONSTANTS: GC_M VALUE 'M',
               GC_J VALUE 'J',
               GC_C VALUE 'C',
               GC_D VALUE 'D',
               GC_E VALUE 'E',
               GC_F VALUE 'F',
               GC_U VALUE 'U',
               GC_X VALUE 'X',
               GC_0 VALUE '0',
               GC_2 VALUE '2',
               GC_3 VALUE '3',
               GC_MEXP(4) VALUE 'MEXP',
               GC_ZAAD(4) VALUE 'ZAAD',
               GC_ZSAD(4) VALUE 'ZSAD',
               GC_CY(2) VALUE 'CY',
               GC_M1(2) VALUE 'M1',
               GC_M2(2) VALUE 'M2',
               GC_M4(2) VALUE 'M4',
               GC_M5(2) VALUE 'M5',
               GC_M6(2) VALUE 'M6',
               GC_M7(2) VALUE 'M7',
               GC_M8(2) VALUE 'M8',
               GC_M9(2) VALUE 'M9',
               GC_C3(2) VALUE 'C3',
               GC_00(2) VALUE '00',
               GC_C1(2) VALUE 'C1',
               GC_C2(2) VALUE 'C2',
               GC_SI(2) VALUE 'SI',
               GC_N1(2) VALUE 'N1',
               GC_N2(2) VALUE 'N2',
               GC_FR(2) VALUE 'FR',
               GC_EN(2) VALUE 'EN',
               GC_TON LIKE T006-MSEHI VALUE 'TO',
               GC_L15 LIKE T006-MSEHI VALUE 'L15',
               GC_GRWR(4) VALUE 'GRWR',
               GC_SAISUNIC(8) VALUE 'SAISUNIC',
               GC_000000(6) VALUE '000000',
              GC_1 VALUE '1',                                 "G9BK900812
               GC_1 LIKE PLFH-MGVGW VALUE '1',                  "G9BK900812
               GC_DOT(1) VALUE '.',
               GC_TYP_EU(3)  TYPE C VALUE 'EU ',
               GC_TYP_EX(3)  TYPE C VALUE 'EX ',
               GC_TYP_COM(3) TYPE C VALUE 'COM',
               GC_BIS(3)     TYPE C VALUE 'BIS',
               GC_EUR(3)     TYPE C VALUE 'EUR',
               GC_IV(2)      TYPE C VALUE 'IV',
               GC_ZTDR(4)    TYPE C VALUE 'ZTDR',
               GC_ZF8(3)     TYPE C VALUE 'ZF8',
               GC_ZIV(3)     TYPE C VALUE 'ZIV',
               GC_FALSE(1)   TYPE C VALUE ' ',                 "yuie
               GC_STRUCT(31) TYPE C VALUE 'DATA',              "yuie
               GC_TOTAL TYPE VTXTM VALUE 'TOTAL NET UNIT PRICE',"G9DK960368
            GC_INTER_PERCENT TYPE VTXTM VALUE 'Inter-company %'."G9DK960368
         I N T E R N A L  T A B L E S                                    *
    DATA: BEGIN OF IT_DOC OCCURS 0,
            VBELN LIKE LIKP-VBELN,
            FKART LIKE VBRK-FKART,
            ERDAT LIKE VBFA-ERDAT,
            ERZET LIKE VBFA-ERZET,
            ZDELN LIKE VBRK-VBELN,
          END OF IT_DOC,
          BEGIN OF IT_VBRK OCCURS 0,
            ZDELN LIKE VBRK-VBELN,
          END OF IT_VBRK,
          BEGIN OF IT_SALES OCCURS 0,
            VBELN LIKE LIKP-VBELN,
            VBELV LIKE VBAK-VBELN,     "Order Number
            AUART LIKE VBAK-AUART,
            KNUMV LIKE VBAK-KNUMV,
            KALSM LIKE VBAK-KALSM,                              "G9DK960368
            WAERK LIKE VBAK-KALSM,                              "G9DK960368
            KNUMA LIKE VBAK-KNUMA,                              "G9DK960368
          END OF IT_SALES,
    *--> begin of G9DK961190 kxumnauy 13 feb 2004
          BEGIN OF IT_VBAP OCCURS 0,
             VBELN   LIKE  VBAK-VBELN,           " Sale doc.
             POSNR   LIKE  VBAP-POSNR,           " Sales document item
             KNUMV   LIKE  VBAK-KNUMV,           " No. of the document cond.
             KALSM   LIKE VBAK-KALSM,
             WAERK   LIKE VBAK-KALSM,
             KNUMA   LIKE VBAK-KNUMA,
          END OF IT_VBAP,
    *<-- end of G9DK961190
          BEGIN OF IT_KSCHL OCCURS 0,
            KNUMV LIKE KONV-KNUMV,
            KBETR LIKE KONV-KBETR,
            WAERS LIKE KONV-WAERS,                              "G9DK960368
          END OF IT_KSCHL,
          BEGIN OF IT_VBKD OCCURS 0,
            VBELV LIKE VBAK-VBELN,
            INCO1 LIKE VBKD-INCO1,
          END OF IT_VBKD,
          BEGIN OF IT_COUNTRY OCCURS 0,
            KUNNR LIKE KNA1-KUNNR,
            LAND1 LIKE KNA1-LAND1,
          END OF IT_COUNTRY,
          BEGIN OF IT_CNO OCCURS 0,
            HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
            INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
            PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
            INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
            CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
    *-->Begin of G9DK9A09ND -VSRKODA -16/07/2007
            PLANT    LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *<--End of  G9DK9A09ND
          END OF IT_CNO,
          BEGIN OF IT_LNO OCCURS 0,
            HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
            INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
            PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
            INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
            CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
    *-->Begin of G9DK9A09ND -VSRKODA -16/07/2007
            PLANT    LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *<--End of  G9DK9A09ND
           END OF IT_LNO,
          BEGIN OF IT_LINV OCCURS 0,
            HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
            INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
            PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
            INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
            CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
    *-->Begin of G9DK9A09ND -VSRKODA -16/07/2007
            PLANT    LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *<--End of  G9DK9A09ND
            EX_RATE LIKE YSDA_EXP_PRTLOG-YY_EX_RATE,
            LFIMG LIKE LIPS-LFIMG,
            ZDELN LIKE VBRK-YY_SEQTAXNO,
          END OF IT_LINV,
          BEGIN OF IT_DIFF OCCURS 0,
            HEADER_TYP LIKE YSDA_EXP_PRTLOG-YY_HEADER_TYP,
            VBELV LIKE VBAK-VBELN,
            INTERNAL_NO LIKE YSDA_EXP_PRTLOG-YY_INTERNAL_NO,
            PRINT_DATE LIKE YSDA_EXP_PRTLOG-YY_PRINT_DATE,
            INVOICE_AMT LIKE YSDA_EXP_PRTLOG-YY_INVOICE_AMT,
            CURRENCY LIKE YSDA_EXP_PRTLOG-YY_CURRENCY,
    *-->Begin of G9DK9A09ND -VSRKODA -16/07/2007
            PLANT    LIKE YSDA_EXP_PRTLOG-YY_PLANT,
    *<--End of  G9DK9A09ND
            EX_RATE LIKE YSDA_EXP_PRTLOG-YY_EX_RATE,
            LFIMG LIKE LIPS-LFIMG,
            NETWR LIKE VBRK-NETWR,
            WAERK LIKE VBRK-WAERK,
            KURRF LIKE VBRK-KURRF,
            FKIMG LIKE VBRP-FKIMG,
            ZDELN LIKE VBRK-YY_SEQTAXNO,
          END OF IT_DIFF.
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
    Data :Begin  of it_t001k occurs 0,
          bwkey  like t001k-bwkey,
          bukrs   like t001k-bukrs,
          werks   like t001w-werks,
        end of it_t001k.
    TABLES: T001W.
    Data :Begin  of it_t001w occurS 0,
          bwkey  like t001w-bwkey,
         werks   like t001w-werks,
        end of it_t001w.
    *<-- End of G9DK9A09ND
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
    DATA: BEGIN OF IT_SIREN OCCURS 0,
          VALUE_FROM  LIKE YCACEDI-VALUE_FROM,
          MESTYP  LIKE  YCACEDI-MESTYP,
          DIRECT   LIKE YCACEDI-MESTYP,
          ORG_LEVEL  LIKE YCACEDI-ORG_LEVEL,
          ORG_VALUE  LIKE YCACEDI-ORG_VALUE,
          FIELDNAME  LIKE YCACEDI-FIELDNAME,
        END OF IT_SIREN.
    *<-- End of G9DK9A09ND
    *--> Begin of G9DK959869 KXSAWAS 02/02/2004
    DATA: BEGIN OF IT_ORDER OCCURS 0,
            VBELN LIKE VBAK-VBELN,        " Order no.
            VKORG LIKE VBAK-VKORG,        " Sale Org. of order
          END OF IT_ORDER,
          BEGIN OF WA_T001W,
            WERKS  LIKE   T001W-WERKS,    " Plant
            BUKRS  LIKE   T001K-BUKRS,
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
            BWKEY  LIKE   T001K-BWKEY,
    *<-- End of G9DK9A09ND
            VKORG  LIKE   T001W-VKORG,    " Sale Org. of plant
            COUNC  LIKE   T001W-COUNC,    " Country code
            LAND1  LIKE   T001W-LAND1,    "
            ADRNR  LIKE   T001W-ADRNR,
            ORT01  LIKE   T001W-ORT01,
          END OF WA_T001W,
          BEGIN OF IT_LIKP OCCURS 0,
            VBELN  LIKE LIKP-VBELN,        " Delivery
            VKORG  LIKE LIKP-VKORG,        " Sale organization
            KUNNR  LIKE LIKP-KUNNR,        " Ship-to party
            INCO1  LIKE LIKP-INCO1,        " Incoterm part1
            INCO2  LIKE LIKP-INCO2,        " Incoterm part2
          END OF IT_LIKP.
    *<-- End of G9DK959869
    DATA: IT_RAW TYPE TABLE OF TY_RAW WITH HEADER LINE,
          IT_DATA TYPE TABLE OF TY_DATA WITH HEADER LINE,
          IT_EXPORT TYPE TABLE OF TY_EXPORT WITH HEADER LINE,
          IT_DELIVERY TYPE TABLE OF TY_DELIVERY WITH HEADER LINE,
          IT_INVOICE TYPE TABLE OF TY_INVOICE WITH HEADER LINE,
          IT_FILE TYPE TABLE OF TY_DFILE WITH HEADER LINE,
          IT_HEADER TYPE TABLE OF TY_HEADER WITH HEADER LINE,
          IT_SELTAB TYPE TABLE OF RSPARAMS WITH HEADER LINE,
          IT_INVOICE_TEMP TYPE TABLE OF TY_INVOICE_TEMP WITH HEADER LINE,
          IT_TVKO_ORDER   TYPE TABLE OF TY_TVKO WITH HEADER LINE,"G9DK959869
          IT_DEL TYPE TABLE OF TY_DELIVERY WITH HEADER LINE.    "G9DK960368
    *--> Begin of G9DK960368 KXSAWAS 05/02/2004
    DATA: BEGIN OF YUIE_ITAB OCCURS 0,
           RECID(31),
           DATA(1024).
    DATA: END   OF YUIE_ITAB.
    TYPE-POOLS: YUIEX.
    *DATA : it_komv2     LIKE komv   OCCURS 0 WITH HEADER LINE. "G9DK961190
    *<-- End of G9DK960368
    *Begin of G9DK964590 kxumnauy 30 mar 2003
    DATA: BEGIN OF KEY_ZBAT01,
            MANDT           TYPE ZBAT01-MANDT,
            REPID           TYPE ZBAT01-REPID,
            FUNCT           TYPE ZBAT01-FUNCT,
          END OF KEY_ZBAT01.
    *End of G9DK964590
    *--> Begin of G9DK968994 kxumnauy
    DATA: BEGIN OF IT_INVOICE_ITEM OCCURS 0,
            VBELN LIKE VBRP-VBELN,
            POSNR LIKE VBRP-POSNR,
            NETWR LIKE VBRP-NETWR,
            VGBEL LIKE VBRP-VGBEL,
            VGPOS LIKE VBRP-VGPOS,
            MATNR LIKE VBRP-MATNR,
             fkimg LIKE VBRP-fkimg,               "G9DK969188
             vrkme LIKE VBRP-vrkme,               "G9DK969188
            ntgew LIKE VBRP-ntgew,                              "G9DK969188
            gewei LIKE VBRP-gewei,                              "G9DK969188
          END OF IT_INVOICE_ITEM.
    *<-- End of G9DK968994
    RANGES: S_LAST FOR SY-DATUM,
            S_PERIOD FOR SY-DATUM.
         W O R K A R E A S                                               *
    DATA: WA_RAW TYPE TY_RAW,
          WA_DATA TYPE TY_DATA,
          WA_EXPORT TYPE TY_EXPORT,
          WA_DOC LIKE IT_DOC,
          WA_SALES LIKE IT_SALES,
          WA_SALES1 LIKE IT_SALES,                              "G9DK972875
          WA_KSCHL LIKE IT_KSCHL,
          WA_VBKD LIKE IT_VBKD,
          WA_COUNTRY LIKE IT_COUNTRY,
          WA_DELIVERY TYPE TY_DELIVERY,
          WA_INVOICE TYPE TY_INVOICE,
          WA_LINV LIKE IT_LINV,
          WA_CNO LIKE IT_CNO,
          WA_LNO LIKE IT_LNO,
          WA_DIFF LIKE IT_DIFF,
          WA_HEADER TYPE TY_HEADER,
          WA_VBRK LIKE IT_VBRK,
          WA_FILE TYPE TY_DFILE,
          WA_HFILE TYPE TY_HFILE,
          WA_SELTAB TYPE RSPARAMS,
          WA_INVOICE_TEMP TYPE TY_INVOICE_TEMP,
          WA_TVKO_PLANT TYPE TY_TVKO,                           "G9DK959869
          WA_LIKP       LIKE IT_LIKP,                           "G9DK959869
          WA_DEL        LIKE IT_DELIVERY,                       "G9DK960368
          WA_KOMK       LIKE KOMK,                              "G9DK960368
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
          WA_T001K     LIKE T001K.
    *<-- End of G9DK9A09ND
         S E L E C T   -   O P T I O N S   /   P A R A M E T E R S       *
    SELECTION-SCREEN BEGIN OF BLOCK SCR1 WITH FRAME TITLE TEXT-001.
    *Begin of change  VSRKODA
    PARAMETERS: P_BUKRS LIKE T001K-BUKRS,
               S_WERKS LIKE T001W-WERKS,
    *end of change   VSRKODA
                P_MNR LIKE T247-MNR,
                P_YEAR LIKE VBRK-GJAHR.
    SELECT-OPTIONS:   S_WERKS  FOR T001W-WERKS.
    PARAMETERS: P_PRNTER  LIKE TSP01-RQDEST.  "Printer Name
              p_file AS CHECKBOX.                            "yuie
    SELECTION-SCREEN END OF BLOCK SCR1.
    *--> Begin of G9DK960368 KXSAWAS 05/02/2004
    *--- Comment out ---
    *SELECTION-SCREEN BEGIN OF BLOCK b2
                   WITH FRAME TITLE text-t01.
    *PARAMETERS:     p_fname LIKE rlgrap-filename .
    *SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-T01.
    PARAMETERS: P_FILE AS CHECKBOX.
    PARAMETERS: P_FNAME   TYPE EPSFILNAM LOWER CASE,  "interface UNIX file
                P_SPATH   TYPE EPSDIRNAM DEFAULT
                '/opt/mobil/batch/gem/other/common/data/' LOWER CASE.
    SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-T03.
    PARAMETERS: P_INTID    TYPE YINT_IDS     DEFAULT 'DCG_REPORT',
                P_SUBID    TYPE YINT_SUB_IDS DEFAULT 'MAIN'.
    SELECTION-SCREEN END OF BLOCK B3.
    *<-- End of G9DK960368
    AT SELECTION SCREEN
    AT SELECTION-SCREEN.
    To validate the data that user entered in the selection screen
      PERFORM F_VALIDATE_DATA.
      PERFORM F_GET_COMPANY_CODE.
         I N I T I A L I Z A T I O N                                     *
    INITIALIZATION.
      P_MNR = SY-DATUM+4(2).
      P_YEAR = SY-DATUM+0(4).
    *--> Begin of G9DK960368 KXSAWAS 05/02/2004
    *---Set default unix file name yuie
      CONCATENATE 'DCG_SAISUNIC' SY-UNAME
                INTO P_FNAME
                SEPARATED BY '_'.
    *<-- End of G9DK960368
         B E G I N - O F - S E L E C T I O N                             *
    START-OF-SELECTION.
      GV_PRNTER = P_PRNTER.
      PERFORM F_INIT_PERIOD.
      PERFORM F_GET_CURRENT_REPORT_NUMBER.
    PERFORM F_GET_COMPANY_CODE.
      PERFORM F_EXTRACT_RAW_DATA.
      PERFORM F_PROCESS_DATA.
      IF SY-BATCH EQ GC_X.
        PERFORM F_UPDATE_REPORT_NUMBER.
      ENDIF.
    END-OF-SELECTION.
      IF NOT ( IT_HEADER[] IS INITIAL AND IT_DATA[] IS INITIAL AND
                  IT_CNO[] IS INITIAL AND IT_LNO[]  IS INITIAL AND
                IT_LINV[] IS INITIAL AND IT_DIFF[] IS INITIAL ).
        PERFORM F_PRINT_ACCELIO.
      ELSE.
        MESSAGE ID 'YM' TYPE 'I' NUMBER '032'                   "G9DK961073
            WITH 'No data found for entered criteria'(E01).
        EXIT.
      ENDIF.
    *If run by batch job print invoice
      IF SY-BATCH EQ GC_X.
        PERFORM F_PRINT_INVOICE.
      ENDIF.
         B E G I N  O F  F O R M                                         *
    *&      Form  F_INIT_PERIOD
          Period
    FORM F_INIT_PERIOD.
      DATA: LV_FIRST LIKE SY-DATUM,
            LV_CURRENT LIKE SY-DATUM,
            LV_LAST LIKE SY-DATUM,
            LV_DTEMP_FIRST(12) TYPE C,
            LV_DTEMP_LAST(12) TYPE C.
      LV_FIRST+0(4) = P_YEAR.
      LV_FIRST+4(2) = P_MNR.
      LV_FIRST+6(2) = '01'.
    LAST DAY OF CURRENT MONTH
      CALL FUNCTION 'LAST_DAY_OF_MONTHS'
           EXPORTING
                DAY_IN            = LV_FIRST
           IMPORTING
                LAST_DAY_OF_MONTH = LV_CURRENT
           EXCEPTIONS
                DAY_IN_NO_DATE    = 1
                OTHERS            = 2.
      IF SY-SUBRC = 0.
        IF P_MNR < '2'.
          LV_FIRST+0(4) = P_YEAR - 1.
          LV_FIRST+4(2) = '12'.
          LV_FIRST+6(2) = '01'.
        ELSE.
          LV_FIRST+0(4) = P_YEAR.
          LV_FIRST+4(2) = P_MNR - 1.
          LV_FIRST+6(2) = '01'.
        ENDIF.
      LAST DAY OF LAST MONTH
        CALL FUNCTION 'LAST_DAY_OF_MONTHS'
             EXPORTING
                  DAY_IN            = LV_FIRST
             IMPORTING
                  LAST_DAY_OF_MONTH = LV_LAST
             EXCEPTIONS
                  DAY_IN_NO_DATE    = 1
                  OTHERS            = 2.
        IF SY-SUBRC = 0.
          LV_FIRST = '20040101'.                                "G9DK973032
    LAST MONTH
          S_LAST-SIGN = 'I'.
          S_LAST-OPTION = 'BT'.
          S_LAST-LOW = LV_FIRST.
          S_LAST-HIGH = LV_LAST.
          APPEND S_LAST.
    LAST MONTH AND CURRENT MONTH
          S_PERIOD-SIGN = 'I'.
          S_PERIOD-OPTION = 'BT'.
          S_PERIOD-LOW = LV_FIRST.
          S_PERIOD-HIGH = LV_CURRENT.
          APPEND S_PERIOD.
        ENDIF.
      ENDIF.
    ENDFORM.                    " F_INIT_PERIOD
    *&      Form  F_GET_CURRENT_REPORT_NUMBER
          Get current Seq. no. from YSDA_DOC_NUMBER
    FORM F_GET_CURRENT_REPORT_NUMBER.
      DATA: LV_RC LIKE SY-SUBRC.
      CHECK SY-BATCH = GC_X.
      DO 3 TIMES.
        PERFORM F_LOCK_OBJECT CHANGING LV_RC.
        IF LV_RC <> 0.
          PERFORM F_WAIT.
        ELSE.
          EXIT.
        ENDIF.
      ENDDO.
      IF LV_RC <> 0.
        PERFORM F_UNLOCK_OBJECT.
        PERFORM F_LOCK_OBJECT CHANGING LV_RC.
      ENDIF.
      SELECT SINGLE YY_PRINT_NO
        INTO GV_REP_NO
        FROM YSDA_DOC_NUMBER
    *-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
        where yy_plant  = P_WERKS
    *<-- End of G9DK9A09ND
       WHERE YY_PLANT IN S_WERKS
        AND YY_YEAR = P_YEAR
         AND YY_DOCUMENT_CODE = GC_MEXP.
    *--> Begin of G9DK959869 KXSAWAS 02/02/2004
      IF SY-BATCH = GC_X.
        GV_REP_NO = GV_REP_NO + 1.
      ELSE.
        GV_REP_NO = 0.
      ENDIF.
    *<-- End of G9DK959869
    ENDFORM.                    " F_GET_CURRENT_REPORT_NUMBER
    *&      Form  F_GET_COMPANY_CODE
          text
    -->  p1        text
    <--  p2        text
    FORM F_GET_COMPANY_CODE.
    CLEAR: it_t001k-bwkey.
    Validate input data against master table of SAP
    Validate company code  against T001k
      IF NOT P_BUKRS IS INITIAL.
        SELECT  T001K~BUKRS
                T001K~BWKEY
                T001W~WERKS
          INTO CORRESPONDING FIELDS OF TABLE IT_T001K
          FROM T001K
      INNER JOIN T001W ON T001W~BWKEY = T001K~BWKEY
          WHERE  BUKRS = P_BUKRS
          AND WERKS IN S_WERKS.
         APPEND IT_T001K.
         select t001kbukrs t001kbwkey t001w~werks
         into corresponding fields of table itab
            from t001w
                  inner join t001k
                      on t001kbwkey = t001wbwkey.
        LOOP AT IT_T001K.
       it_t001k-bwkey = it_t001w-werks.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " F_GET_COMPANY_CODE
    *&      Form  F_EXTRACT_RAW_DATA
          Extract entries from YSDA_EXP_PRTLOG
    FORM F_EXTRACT_RAW_DATA.
      SELECT YY_PLANT
             YY_HEADER_TYP
             YY_INTERNAL_NO
             YY_PRINT_DATE
             YY_PRINT_TIME
             YY_DOCUMENT_CODE
             YY_HEADER_TYP
             YY_DELIVERY
             YY_INVOICE_AMT
             YY_EX_RATE
             YY_CURRENCY
            YY_INTERNAL_NO                  "G9DK962238
             YY_EXTERNAL_NO
             YY_COMMODITY
             YY_REPORT_FLAG                                     "G9DK962077
        INTO corresponding fields of TABLE IT_RAW
        FROM YSDA_EXP_PRTLOG
      WHERE YY_PLANT IN S_WERKS
    **-->Begin of G9DK9A09ND -VSRKODA -09/07/2007
        where yy_plant  = s_werks
    **<-- End of G9DK9A09ND
        and  YY_PRINT_DATE IN S_PERIOD+
         AND YY_REPORT_FLAG <> 'X'                              "G9DK973032
         AND YY_HEADER_TYP <> 'T2L'                           "G9DK9A02DZ
         AND YY_ANNULATION <> 'X'.
    *If run by batch job
    *--> Begin of G9DK959869 KXSAWAS 02/02/2004
    *--- Comment out ---
    IF sy-batch EQ gc_x.
       IF NOT it_raw[] IS INITIAL.
         LOOP AT it_raw.
    **Update YY_REPORT_FLAG EQ 'X'
           UPDATE ysda_exp_prtlog SET yy_report_flag = gc_x
                         WHERE yy_plant  = p_werks
                         AND   yy_print_date = it_raw-print_date
                         AND   yy_print_time = it_raw-print_time
                         AND   yy_document_code = it_raw-document_code.
         ENDLOOP.
       ENDIF.
    ENDIF.
    *<-- End of G9DK959869
      LOOP AT IT_RAW.
        IT_RAW-HEADER_SHT = IT_RAW-HEADER_SHT+0(3).
        MODIFY IT_RAW.
      ENDLOOP.
      SORT IT_RAW BY WERKS HEADER_SHT INTERNAL_NO               "G9DK962271
      PRINT_DATE.                                               "G9DK962238
    ENDFORM.                    " F_EXTRACT_RAW_DATA
    *&      Form  F_PROCESS_DATA
          Extract all required data
    FORM F_PROCESS_DATA.
      PERFORM F_EXTRACT_DOC_FLOW.
      PERFORM F_EXTRACT_INCO_TERM.
      PERFORM F_EXTRACT_DELIVERY_DATA.
      PERFORM F_EXTRACT_INVOICE_DATA.
      PERFORM F_EXTRACT_EXPORT_DATA.
      PERFORM F_EXTRACT_HEADER_DATA.
      PERFORM F_EXTRACT_COMPANY.                                "G9DK959869
      PERFORM F_CLASSIFY_DATA.
    ENDFORM.                    " F_PROCESS_DATA
    *&      Form  F_EXTRACT_DOC_FLOW
          Extract Sale data
    FORM F_EXTRACT_DOC_FLOW.
      IF NOT IT_RAW[] IS INITIAL.
        SELECT VBELV
               VBTYP_N
               ERDAT
               ERZET
               VBELN
          INTO TABLE IT_DOC
          FROM VBFA
          FOR ALL ENTRIES IN IT_RAW
         WHERE VBELV = IT_RAW-DELIVERY
          AND ( VBTYP_N = 'M'
             OR VBTYP_N = '5' ).
        SELECT A~VBELN
               A~VBELV
               B~AUART
               B~KNUMV
               B~KALSM                                          "G9DK960368
               B~WAERK                                          "G9DK960368
               B~KNUMA                                          "G9DK960368
          INTO TABLE IT_SALES
          FROM VBFA AS A INNER JOIN VBAK AS B
            ON AVBELV = BVBELN
          FOR ALL ENTRIES IN IT_RAW
         WHERE A~VBELN = IT_RAW-DELIVERY
           AND A~VBTYP_N = GC_J.
      ENDIF.
      SORT IT_SALES BY VBELN VBELV.
      DELETE ADJACENT DUPLICATES FROM IT_SALES COMPARING ALL FIELDS.
      SORT IT_DOC BY VBELN ASCENDING
                     FKART ASCENDING
                     ERDAT DESCENDING
                     ERZET DESCENDING.
      DELETE ADJACENT DUPLICATES FROM IT_DOC COMPARING ALL FIELDS.
      IF NOT IT_SALES[] IS INITIAL.
        SELECT KNUMV
               KBETR
               WAERS                                            "G9DK960368
          INTO TABLE IT_KSCHL
          FROM KONV
          FOR ALL ENTRIES IN IT_SALES
         WHERE KNUMV = IT_SALES-KNUMV
           AND KSCHL = GC_GRWR.
      ENDIF.
      SORT IT_KSCHL BY KNUMV.
    ENDFORM.                    " F_EXTRACT_DOC_FLOW
    *&      Form  F_EXTRACT_INCO_TERM
          Extract inco term
    FORM F_EXTRACT_INCO_TERM.
      IF NOT IT_SALES[] IS INITIAL.
        SELECT VBELN
      

    What's wrong with F_GET_COMPANY_CODE ?  Below is similar code - try running this and seeing what you get:
    report zlocal_jc_t001w.
    tables:
      t001k,     "Valuation area
      t001w.     "Plants/Branches
    parameters:
      p_bukrs          like t001k-bukrs default '1000'.
    select-options:
      s_werks          for t001w-werks.
    start-of-selection.
      perform get_data.
    *&      Form  get_data
    form get_data.
      data:
        begin of gt_t001k occurs 10,
          bukrs             like t001k-bukrs,
          bwkey             like t001k-bwkey,
          werks             like t001w-werks,
        end of gt_t001k.
      select
        t001k~bukrs
        t001k~bwkey
        t001w~werks
        into corresponding fields of table gt_t001k
        from t001k as t001k
        inner join t001w as t001w on t001w~bwkey = t001k~bwkey
        where t001k~bukrs = p_bukrs
        and   t001w~werks in s_werks.
      loop at gt_t001k.
        write: /
          gt_t001k-bukrs,
          gt_t001k-bwkey,
          gt_t001k-werks.
      endloop.
    endform.                    "get_data
    As for links to locally defined database tables, that will depend on what the keys defined in SE11 are e.g. there will be a primary key plus relationships to other tables (for example "WERKS LIKE YSDA_EXP_PRTLOG-YY_PLANT" indicates YY_PLANT relates to T001W).
    Jonathan

  • Automatically clear the open items for a GL account cross company codes

    Hi FICO experts,
    Can anyone help me on the following issue urgently?
    There are journal entries posted to same GL account with different company code. Is there any way to automatically clear the open items sitting in the GL account in company code A to against the open items for the same GL account in company code B.
    The example is below:
    Journal in company code A
    Dr. 840410      $100
      Cr. 111300       $100
    Journal in company code B
    Dr. 111301   $100
      Cr. 840410      $100
    Now I want to automatically clear account  840410 by using assignment or text in the journal entry.
    It will be highly appreciated for any instructions.
    Adele

    Hello Adele Wang,
    You can enter cross-company code transactions in one step in the General Ledger, Accounts Receivable, and Accounts Payable application components. This function would be used, for example, for centralized procurement or payment.
    Integration:For centralized payments, each individual company code enters its own invoices separately, while a central company code pays them. When you are clearing open items, the system makes clearing entries between the company codes participating in the clearing procedure. These clearing entries represent the receivables and payables that exist between the company codes in centralized payment.
    Prerequisites:You have specified which company codes are to be processed via a single company code. In this specification, you can distinguish between clearing transactions. You can therefore have different combinations of company codes for incoming and outgoing payments.
    You have specified the clearing accounts that record the receivables and payables between the individual company codes. The system posts to these accounts automatically when clearing the open items.
    You need to make  the required settings in the activity Prepare Cross-Company Code Manual Payments in Customizing for Financial Accounting (Accounts Receivable and Accounts Payable->Business Transactions->Outgoing Payments->Manual Outgoing Payments).
    Features:For each company code, the system generates a separate clearing document. A joint transaction number marks these documents as belonging together.
    Example:For a clearing transaction (incoming payment, outgoing payment), you have agreed in Customizing that if company code 0001 is specified, open items are also selected from other company codes (0002 and 0003).
    Hope I had been able to help you. Please assign points.
    Rgds
    manish
    Clearing can then also be carried out if the account to be cleared has not been created in company code 0001. As long as no items have to be posted to this account in company code 0001, it is not necessary to create a master record for the account in company code 0001.
    See also:

  • How to reset data for the company code 1000

    Hi Gurus,
    I am practicing SAP SD on a sandbox server as am learning it.
    But i see that the standard data for the company code 1000 has been altered by previous users and most of the standard setttings have been changed.
    Due to this am having a lot of issues while configuring a new company code by copying it from 1000.
    Please help me reseting the data for the company code 1000 so that it will be easier for customizing and learning.
    Regards,
    Harish

    Hi Harish,
    Follow the step given below
    SPRO --> Enterprise Structure --> Definition --> Financial Accounting --> Edit, Copy, Delete, Check Company Code
    A pop screen will appear which will give you two options
    1)  Copy, delete, check company code
    2)  Edit Company Code Data
    Select option one
    On next screen --> Click at " Check org. object" or press F8 --> It will ask your company code --> enter your company code 1000 --> Enter
    It will check all the related table and if it find any discrepency
    then it will show you one pop up screen
    Errors in
    foreign key dependencies
    Do you want the error log
    displayed now?
    Click at Display now --> correct all the fields which are wrongly maintained.
    Hope this helps
    Regards,
    MT

  • Error : COmpany code does not exist or has not been fully maintained

    Hi ,
    I tried creating a material with industry sector : mechanical , material type : raw material.
    i selected basic data 1 and 2 view or MRP 1 view for views , i gave plant as SUJA and storage location value S001 ( plant and stor loc i have created in the company code 2001)
    but i get this error COmpany code 2001 does not exist or has not been fully maintained..
    I created COMPANY CODE using SPRO - Entreprise structure --definition -  financial accounting --define , copy , check , delete company code..
    kindly suggest me the solution for this error..

    Hi,
    Your company code not activated for material management. Few pre-requisites to create material and one is to activate company code for material management
    Please activate in T.code: OMSY,
    [For example: For Fiscal year variant K4]
    In OMSY steps, u have to enteru2026u2026u2026..
    Company Code (enter your company code name 2001)u2026u2026u2026u2026u2026.
    Company Name..
    Fiscal Year of Current Period 2009
    Current period (posting period) 03( )
    Fiscal year of previous period 2008( will come automatic)
    Month of previous period 02( will come automatic)
    Fiscal year of last period of previous year 2008
    Last month of previous year 12
    Allow Posting to Previous Period (Back posting)
    Disallow back posting after a change of period
    Now create material with T.code; MM01
    Regards,
    Biju K

  • External processing in the plant as vendor under same company code

    Hi friends,
    In our project under implementation we have following scenario.
    we have 4 plants under one company code. one of the plant does powder coating as manufacturing activity. Other 3 plants sends components to the powder coating plant for coating purpose.
    In IDES Standard scenario of external processing, a purchase requisition is raised thro info record maintained for the external operation. This scenarion works if the vendor is external.
    In our case, the vendor is one of the other plant under same company code/client. Also the powder coating needs to be done without any profit margin for internal customers.
    Our FICO guys have the opinion that, intra plant can't be a vendor; because raising invoices among plants under the same company codes is against accounting standars.
    If anybody has faced this type of scenario nd found the solution, Please share it here.
    Thanx in advance

    Hi Shiva
    STO scenario
    You can not create only STO as you need to send the unpainted components to another plant through SAP & have them painted back with only payment of paining charges without margin.
    Subcontracting scenario
    You can not create the Subcontracting PO as this is not your external vendor.
    Does this involves excise?
    Then the PR/PO ctreated should be of combination of STO and subcontracting. If so this is not possible, as item category is the only field in PR/PO that identifies it as STO and subcontracting. obiviously it cann't have 2 values.
    My suggesion on this as...
    Create a BOM for painted component with sp procurement key as produced in another plant(paining plant). this will have STO cretaed for paining plant. This will inturn cretae a production order in painitng plant.
    The BOM in painting plant will have the unpainted component with sp procurement key as produced in another plant ( fabricated plant) this will have STO created for unpainted components.
    I hope I am clear & not confused you much.
    Regards
    Mahesh
    Regards
    Mahesh

  • Company code restriction for dashboard and webi reports in BOBJ

    Hi Friends,
    We have a requirment where we need to restrict user on company code level in bobj.
    we have some dashborads and webi reports which need to be restricted at company code level, hence i have created a  role in BI and restricted the queries (bex queries) on company code level and same role and user i have imported in BOBJ.
    Now i can see the role and user in BOBJ and also i can login to BILAUNCH PAD with authentication as SAP  But unable to run the webi reports and dashboard hence i have added those reports to this user in bobj and now i can run the reports, but restriction is not working.
    In BI I am able to restrict user  but in bobj its  not restricting. kindly let me know if i am missing anything?
    We are having BO 4.0 SP6.
    Thanks
    Basis

    Hi Saurabh,
    In BI its wokring perfectly fine.
    I can run the query for specific company code and data is being populated as the respective compay code.
    I have also configure SSO between BI & BO using below link
    http://wiki.scn.sap.com/wiki/display/BOBJ/How+to+setup+SSO+against+SAP+BW+with+SAP+BO+BI4.0+Common+Semantic+Layer+%28UNX%29+or+BICS
    but when i am trying to create a olap connection in IDT with SSO connection test is getting failed with belwo error.
    com.businessobjects.mds.olap.OlapException: [Internal] SSO token or User password is empty.
    I checked STS is already there in APS .
    Thanks
    Basis

  • Search Help "PREM"  Restriction on Company Code

    Dear Friends,
    I have modified the screen SAPLKACB 0002. I HAVE APPLIED SEARCH HELP "PREM" ON COBL-PERNR(Personnel No).Now if u go to F-02 Transaction.We have a Company Code entered Say : 2200.
    Now if we fill in the mandatory fields we go 2 next screen there we have personnel no field where i have
    attached F4(Search Help).
    Now i need 2 restrict the search help according to the company code.
    if the Company Code i enter say 2100 and hIt enter.it should give me some king of msg that
    the company code 2100 does not match the (F-02 Transaction Company Code:2200).
    Please Guide as 2 how 2 Accomplish this.
    Regards,
    Essam

    Hi if you need to do any thing to search help u need to create a search help exit for it.
    check my [blog|https://wiki.sdn.sap.com/wiki/x/du0] on this code.

  • Purchase order (Company code - Plant)

    Hi All,
    In the Org. Data tab of Purch. Order header, i enter the company code. This company code has 2 plants associated with it. But in the item details, where i enter the plant, when i click F4, i see 4 plants. I would like to know how i can restrict this to display only the plants associated with the company code entered in header. Hope my question is clear.
    Vivek

    Hi Vivek!
    Whatever Krishna / Rama krishna said is correct.
    In General practice of creating P.O, once you enter the Org. data in header, without pressing "Enter", you use to enter the data in Item over view. That time, if you go to F4 at plant column, all the plants created will be displayed.
    To avoid this, after entering Org. data i.e., Pur. org., Pur. group, and Comp.code, immediately you press"Enter".
    Then go to Item overview and press F4, for plant. You will find only the plants that are assigned to the purchasing org. you enterd in header.
    One more thing is - Pur. group is not assigned to any org. element.
    Regards,
    Gopi Chand.

  • Function to validate APEX password entered after login within an app.

    Hi Folks.
    I have a requirement that, one or two functions in my app require a password to be entered.
    What I'd like to do is provide the user a password field where they enter their APEX password and I can then call a function to validate the password entered against the user's APEX password.
    I know, if they have logged in then they have already entered their password! But this is to cater for the 'unattended' PC scenario where a malicious user if trying to impersonate a restricted user.
    I'd like a simple way of incorporating APEX password validation from within the application on an ad-hoc basis for security sensitive tasks/actions.
    If anyone has any suggestions, I'd be most grateful.
    Many thanks.
    Simon.

    Simon,
    Use apex_util.is_login_password_valid.
    function is_login_password_valid (
       -- Checks the wwv_flow_fnd_users table to see if
       -- username/password combo is valid within the current workspace (checking by security_group_id)
       p_username in varchar2 default null,
       p_password  in varchar2 default null)
       return boolean
       ;Scott

  • Reg    plant related to a company code

    hi,
    i need small code for a sigle delivery number related to a copmpany code and related a plant data.for retreiving data select statement should validate company code and delivery no,delivery date also

    u have to get the data from LIKP+LIPS.
    Regards
    Prabhu

  • Restrict PO at company code level

    Hi,
    We have near about 10 number of company code and lot of plants attached to each company code.
    and only one purchase organisation.
    Now business require that PO shold be created only for 2 company codes not for all. there are alreday roles available for PO creation .
    Now how to restrcit the PO creation at company code level because at plant level it is not possible due to large number of plants.
    Regards,
    Pardeep Malik

    Hi,
    Please kindly be informed that the following authorization objects are checked when an Enjoy purchase order is created (activity 01) or changed (activity 02):
    - M_BEST_BSA (document type in PO)
    - M_BEST_EKG (purchasing group in PO)
    - M_BEST_EKO (purchasing organization in PO)
    - M_BEST_WRK (plant in PO)
    So this is somthing you can not solve by only using roles. You will need as suggested to make the check in the BADI.
    Best Regards,
    Arminda Jack.

Maybe you are looking for

  • HT1296 How do I transfer music already on my Windows Vista PC to my new iPod Touch?

    I have a new iPod touch and want to transfer music files already on my Windows PC to it.  I can't work out how to do this as all music information seems to relte to itunes and these are not commercially available files - Help!

  • In need of complete drivers for Satellite: L35-S2174

    i got an Satellite: L35-S2174, have installed windows xp sp2 and i dont have the complete list of drivers for my laptop, i really need your help guy! thanks in advance. a newbee in having a laptop.

  • STL subtitle files in DVD Studio Pro - ripple

    I think I have the answer - an STL is a text based file.  The timing cannot be automatically rippled?  Am I right?  Say I wish to move a block of subtiles up by a few minutes.  I have eleven shows in a row that stretch out 28 minutes for subtiling by

  • Redirect based on URL content

    Hi, I have received a request to forward traffic based on http header; specifically if the header contains www.sample.co.uk it should go to its regular serverfarm, if it contains www.sample.co.uk/wordpress it should go to a different serverfarm, prob

  • Ink black won't come out printing my tax filing.

    I was gonna plan to do tax filing and needed to print out but ink black won't come out... i have to clean cartidige with tissue paper with alcohol... but won't working... black ink appers half plently of more ink inside. What I am going to do with th