Document Number generation as per the client requirment

Hi,
I would like to generate the document no as per our client's document numbering logic. This is not available in standard.
In additional data tab am collecting information from user (Characteristics values) to generate document number.
E.G.
I have 2 characteristics
1. Part Type:
    Values: A - Type 1
                B - Type 2
2. Part Code:
    Values: 01- Part 1
                02 - Part 2
                03 - Part 3
When am creating document am selecting Part Type = A & Part code = 02 so my document number is A-02. ("-" : constant).
I am planning to use BADI "DOCUMENT_MAIN01" - method "ASSIGN_NUMBER".
In this method how can i get the characteristics values which filled user on screen ? Is there any Function Module for that ?
I tried Function Module "CTMS_DDB_CLOSE" but this is not released also this is not working in Easy DMS.
Is there any other way i can take i/p from user to generate document number ?
Regards,
Sunny
Edited by: Sunny on Sep 25, 2008 9:09 PM

Hi Sunny,
An experienced ABAPer can capture the required information from the sub screen(additional data) number (4000) and the subscreen program (SAPLCTMS). This data can be used  in the method of the BADI.
Regards,
T T Subudhi

Similar Messages

  • Not geeting the proper excel output as per the client requirement .Urgent

    Hi all,
    I have a rtf and i want to take the report output in ms-excel format .....
    I am able to get the excel out put but the problem is that for one of the field in rtf "COMMENTS" .... it contain the detail text of 100 to 120 words ....
    as per client requirement they want this "COMMENT" data in one line in excel output .
    can any rtf design expert suggest me how to get this output in excel format as per my client requirement .....
    Please advice.................ITS URGENT
    thanks in advance
    RP

    Hi all,
    I have a rtf and i want to take the report output in ms-excel format .....
    I am able to get the excel out put but the problem is that for one of the field in rtf "COMMENTS" .... it contain the detail text of 100 to 120 words ....
    as per client requirement they want this "COMMENT" data in one line in excel output .
    can any rtf design expert suggest me how to get this output in excel format as per my client requirement .....
    Please advice.................ITS URGENT
    thanks in advance
    RP

  • How to identify field names and table names as per the client requirement

    Dear All,
    i am preparing reports for my client of their own requirement, but in sap how can i find the field name, table names like  for eg: doc.no, issue,revision no, revision date, date of issue,date of completion, job card no,identificatin no, part no , accept,inspected,testedby, remarks, issue, process.
    so please tell what is the path to find the field names and table nae

    Hi,
    You can select the field which field name and table you want to know, just press F1 button, one more window will open. There you need to select the technical information icon, then you will get the required field name and its table.
    Regards,
    V. Suresh

  • Material Document number generation

    Hi,
    The transaction GI, Trsfr Posting, Other Goods Movement is clubed to a wide category of Trans./Event Type(WA).So all the three documents has  been generated under a single number range.
    Still further based on certain specific mvt.types(transactions) can i  segregate the number generation to identify the transactions uniquely.
    Regards,
    Milton.I

    Hi
    The number range is generated for the trans/event type. One cannot have number range for specific movement type.
    Rgds
    SVJ

  • Create a Bex report based on the client requirement

    Hi Experts
    We are using 3.5 version SAP BW.
    Our Client requirement is to create a report. as below
    CC01 Qty Ltr Ripple xxxxx.xx
    CC01 Qty Ltr Ripple xxxxx.xx
    CC01 Qty Ltr Ripple xxxxx.xx
    CC01 Profit Value Ripple xxxxx.xx
    CC01 Profit Value Ripple xxxxx.xx
    CC01 Profit Value Ripple] xxxxx.xx
    Where CC01 is Company Code
    QTY Ltr is the formula value that i have created for them
    Profit value also is the formula that i have created
    Ripple is the value that they want it to be seen in the reprot as a standard which is not available anywere in the multiprovider
    xxxxx.xx are the total values of Qty LTr and Profit values per month (eg: 01.2011)
    I have created the reprot and able to get the values but i do not get the CC01 for every line, and even Qty Ltr or the Profit Value in every line of the report , And i do not know how to hard code the Ripple.
    Please adivice hope i am clear.
    My repot displays this way. may be based on the company code.
    CC01 Qty Ltr Ripple xxxxx.xx
    xxxxx.xx
    xxxxx.xx
    Profit Value Ripple xxxxx.xx
    xxxxx.xx
    xxxxx.xx
    CC23 Qty Ltr Ripple xxxxx.xx
    xxxxx.xx
    xxxxx.xx
    Profit Value Ripple xxxxx.xx
    xxxxx.xx
    xxxxx.xx
    CC09 Qty Ltr Ripple xxxxx.xx
    xxxxx.xx
    xxxxx.xx
    Profit Value Ripple xxxxx.xx
    xxxxx.xx
    xxxxx.xx
    Thanks Regds
    Sri

    With the code, you've presumably logged on to the database. To insert objects on to a new report you'd want to use code along the following lines:
    private void AddTableFromDataSet(ref CrystalDecisions.CrystalReports.Engine.ReportDocument rpt, System.Data.DataSet ds)
    ISCDReportClientDocument rasReport = rpt.ReportClientDocument;
    // Convert the DataSet to an ISCRDataset object (something the ISCDReportClientDocument can understand)
    CrystalDecisions.ReportAppServer.DataDefModel.ISCRDataSet rasDS;
    rasDS = CrystalDecisions.ReportAppServer.DataSetConversion.DataSetConverter.Convert(ds);
    // Add the dataset as a data source to the report
    rasReport.DatabaseController.AddDataSource((object)rasDS);
    // Add a field to the report canvas
    // Note: This is quick and dirty. No positioning, resizing, formatting, etc.
    CrystalDecisions.ReportAppServer.Controllers.ISCRResultFieldController rfc;
    CrystalDecisions.ReportAppServer.DataDefModel.ISCRTable crTable;
    CrystalDecisions.ReportAppServer.DataDefModel.ISCRField crField;
    rfc = rasReport.DataDefController.ResultFieldController;
    crTable = rasReport.Database.Tables[0];
    crField = crTable.DataFields[2]; // Hardcoded field "Customer Name" in the Customer table from Xtreme Sample Database
    rfc.Add(-1, crField);
    // Save the report template to disk (without data)
    //object path = @"c:\documents and settings\administrator\desktop\";
    //rasReport.SaveAs("test.rpt", ref path, 0);
    //MessageBox.Show("Done!");
    For more info, see sample apps on the following link:
    http://wiki.sdn.sap.com/wiki/x/IgBmBQ
    Also, consult your 'Report Application Server .NET SDK Developer Guide" and  "Report Application Server .NET API Guide". I'd provide the appropriate links, but you do not mention the version of CR you are using...
    Thread moved to the '.NET - SAP Crystal Reports" forum.
    Ludek
    Follow us on Twitter http://twitter.com/SAPCRNetSup
    Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports]

  • Document Number generation

    hi all
    for a user defined form,i created a field as document number,as the forms loads doc number is creating. Once the  form  mode changed to update mode,and now i m pressing  (Ctrl+A ) or menu UID 1282 to change the mode into add mode. but i m not able handle this menu event  by code. more clearly  i m using the following code
    if pval.menuUid="1282" then
    objForm.objmain.objApplication.Forms.getform("formtype",0)
    me.getDocnum()
    end if
    Actually i need to generate the doc number at the time of form mode changed into add mode also
    Edited by: ajith464 on Aug 31, 2010 7:32 AM

    Hi
    Did you go through the B1DE document.
    In that you can find  detailed information about how to create addons using B1De.
    First create required UDT and UDF's for your addon and register it through object registration wizard.For creating form you have 2 option create form manually or using form generator to create form automatically.Form generator will create form in xml format you easy change the extension to srf.Then create addon project in visual studio , choose the connection type second one (sigle side ) . if you created the udt and udf then you can avoid next step. Choose a menu  location for you addon give the required fields such as menu name description and choose menu type string. After the menu is created you have to attach the new form to that menu item for that right click on that menu and select attach form browse the location of your newly created form you can  also add menu events in this step.To add listener again right click on the menu and select add listener you can add onaftermenuclick and onbeforemenuclick( there is  a check box to differentiate these two events). Then press next , in this window you can find that your form name is listed in the left side ,expand it select the item for adding listener.
    for eg take the case of OK button its unique id is 1 we can add various listener to it such as onBeforeItemPress , On AfterItemPress, onBeforeItemClick and afterItemClick etc that up to your requirement. Click next here you can add form events listeners such as formDataAdd , formDataUpdate etc . complete the steps and create the project
    sorry for my english
    I will also send you some samples
    Regards
    Arun

  • Problem in designing the complex report for the client requirement

    Post Author: venkateshvarakala
    CA Forum: General
    Hi,
    I have problem in designing the report (Crystal Report 9.0) with multiple groups wih a sub report in each group with a a group header and footer with a
    detail section in each report.
    My requirement is as follows.1) Xxxx-sub reportwill have one header conetnt and footer content and detail ection in the middle grouped on one parameter2) Yyyyysub reportwill have one header conetnt and footer content and detail ection in the middle grouped on one parameter3) Zzzzzsub reportwill have one header conetnt and footer content and detail ection in the middle grouped on one parameter4)ABCdsub reportwill have one header one footer in group headers grouper on two prameters, My requirement demands customised detail section i.e.static conetent followed by detail section and a static conetnt(which should not repeat with child table records,should come only once with the a record and
    s) and detail section.
    example:
    main table of the sub report 4 has records m1,m2,m3,m4... and child table has
    m1c1m,m1c2,m1c3,m1c4,m2c1,m2c2,m2c3,m2c4,m3c1,m3c2,m3c3,m3c4,m4c1,m4c2,m4c3,m4c4...
    The staic content should come only with m1,m2,m3,m4 not with m1c1,m1c2....like this I need in two places in the same report which may have 500 recors printed in single report.
    all the above section should be suppressable with a condition including the top 3 reports.
    I am able to get the top 3 reports as per the requirement but my forth sub report is getting displayed after each sub-group 1,2,3 which is not happening with
    1,2,3. Only 4th set is repeating with 1,2,3.
    THis report is attached with 6 datasets.
    I linked the main report main table with 1,2,3 (main Table) report filling table but when I am trying to link the 4th table main table  I am able to link but
    I am not getting the result on the report.All the dataset has the one common column. sub report 1,2,3 are filled with common datasets with condition suppressing where as 4th report is filled with
    different results .
    1) My question is why the 4 the report is report is repeating with 1,2,3 why 1,2,3 are coming as expected.2) Is it possible to create
    Please help me in designing the report as per the requiremnt and suggest me if I need any design modifictions.
    Your suggestions and inputs are highy appreciated.Thanks for sparing time in going through my problem and I will be grateful if give solution and share if you have similar experiences.
    Thanks
    Venkatesh Varakala.

    If you create a multiprovider with the two ODS you won’t have this problem.
    Hope it helps.
    Regards.

  • Document number not updating in the document

    hi gurus,
    this is a excise invoice voucher form used by the client .
    some values are not updated in document no.
    could someone tell me why it is not updating.
    if there are any corrections in code pls update me and solve my problem.
    urs
    pradeep.r
    *&  Include           ZFI_PAY_ADVICE_F01_STR_2                         *
    *&      Form  select_data
          text
    -->  p1        text
    <--  p2        text
    FORM SELECT_DATA .
      REFRESH IT_BKPF.
      CLEAR   IT_BKPF.
      SELECT BELNR GJAHR XBLNR BLDAT BLART INTO CORRESPONDING FIELDS OF
      TABLE IT_BKPF FROM BKPF
      WHERE BELNR IN S_BELNR
      AND   GJAHR IN S_GJAHR
      AND   BUKRS IN S_BUKRS.
      IF IT_BKPF[] IS INITIAL.
        MESSAGE S001.
      ENDIF.
      SORT IT_BKPF BY BELNR GJAHR.
      LOOP AT IT_BKPF.
        SELECT SINGLE EBELN WRBTR WERKS LIFNR KUNNR  INTO
        (IT_BKPF-ZUONR,IT_BKPF-WRBTR,IT_BKPF-WERKS,IT_BKPF-LIFNR,IT_BKPF-KUNNR)
        FROM BSEG
        WHERE BELNR = IT_BKPF-BELNR
        AND   GJAHR = IT_BKPF-GJAHR
        AND BUKRS IN S_BUKRS
        AND   KOART = 'K'.
        IF NOT IT_BKPF-LIFNR IS INITIAL.
          DATA : WRK_ADRNR LIKE LFA1-ADRNR.
          CLEAR  WRK_ADRNR.
          SELECT SINGLE ADRNR INTO WRK_ADRNR FROM LFA1
          WHERE LIFNR = IT_BKPF-LIFNR.
          SELECT SINGLE NAME1
                        NAME2
                        NAME3
                        NAME4
                        CITY1
                        REGION
                        COUNTRY
                        STREET
         INTO (IT_BKPF-NAME1,IT_BKPF-NAME2,IT_BKPF-NAME3,IT_BKPF-NAME4,
         IT_BKPF-CITY1,IT_BKPF-REGION,IT_BKPF-COUNTRY,IT_BKPF-STREET)
         FROM ADRC
         WHERE ADDRNUMBER EQ WRK_ADRNR.
    Text for Country
          SELECT SINGLE LANDX INTO IT_BKPF-LANDX FROM T005T
          WHERE LAND1 = IT_BKPF-COUNTRY
          AND   SPRAS EQ SY-LANGU.
    Text for Region
          SELECT SINGLE BEZEI INTO IT_BKPF-BEZEI FROM T005U
          WHERE BLAND = IT_BKPF-REGION
          AND   SPRAS EQ SY-LANGU
          AND   LAND1 = IT_BKPF-COUNTRY.
        ENDIF.
        IF NOT IT_BKPF-KUNNR IS INITIAL.
          CLEAR  WRK_ADRNR.
          SELECT SINGLE ADRNR INTO (WRK_ADRNR) FROM KNA1
          WHERE KUNNR = IT_BKPF-KUNNR.
          SELECT SINGLE NAME1
                        NAME2
                        NAME3
                        NAME4
                        CITY1
                        REGION
                        COUNTRY
                        STREET
         INTO (IT_BKPF-NAME1,IT_BKPF-NAME2,IT_BKPF-NAME3,IT_BKPF-NAME4,
         IT_BKPF-CITY1,IT_BKPF-REGION,IT_BKPF-COUNTRY,IT_BKPF-STREET)
         FROM ADRC
         WHERE ADDRNUMBER EQ WRK_ADRNR.
    Text for Country
          SELECT SINGLE LANDX INTO IT_BKPF-LANDX FROM T005T
          WHERE LAND1 = IT_BKPF-COUNTRY
          AND   SPRAS EQ SY-LANGU.
    Text for Region
          SELECT SINGLE BEZEI INTO IT_BKPF-BEZEI FROM T005U
          WHERE BLAND = IT_BKPF-REGION
          AND   SPRAS EQ SY-LANGU
          AND   LAND1 = IT_BKPF-COUNTRY.
        ENDIF.
        MODIFY IT_BKPF.
      ENDLOOP.
      REFRESH IT_DATA.
      CLEAR   IT_DATA.
      LOOP AT IT_BKPF.
        DATA : WRK_BSAKBELNR LIKE BSAK-BELNR.
        CLEAR  WRK_BSAKBELNR.
        SELECT SINGLE BELNR INTO WRK_BSAKBELNR FROM BSAK
        WHERE AUGBL = IT_BKPF-BELNR
        AND   GJAHR = IT_BKPF-GJAHR
        AND BUKRS IN S_BUKRS.
    Advance
        IF WRK_BSAKBELNR IS INITIAL.
          IT_DATA-VBELNR = IT_BKPF-BELNR.
          IT_DATA-BELNR = IT_BKPF-BELNR.
          IT_DATA-GJAHR = IT_BKPF-GJAHR.
          IT_DATA-XBLNR = IT_BKPF-XBLNR.
          IT_DATA-BLDAT = IT_BKPF-BLDAT.
          IT_DATA-BLART = IT_BKPF-BLART.
          IT_DATA-ZUONR = IT_BKPF-ZUONR.
          IT_DATA-WRBTR = IT_BKPF-WRBTR.
          IT_DATA-WRBTRC = IT_DATA-WRBTR.
          APPEND IT_DATA.
          IT_DATA-VBELNR = IT_BKPF-BELNR.
          IT_DATA-BELNR = ' '.
          IT_DATA-GJAHR = ' '.
          IT_DATA-BLDAT = ' '.
          IT_DATA-BLART = ' '.
          IT_DATA-ZUONR = ' '.
    TDS
          DATA : WRK_TDSWRBTR LIKE BSIS-WRBTR.
          CLEAR  WRK_TDSWRBTR.
          SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
          WHERE BELNR = IT_BKPF-BELNR
          AND   GJAHR = IT_BKPF-GJAHR
          AND BUKRS IN S_BUKRS
          AND   QSSKZ NE SPACE
          AND   QSSKZ NE 'XX'
          AND   XREF3 NE SPACE
          AND   QSSKZ NE 'S1'
          AND   QSSKZ NE 'S2'.
          IF WRK_TDSWRBTR IS INITIAL.
            SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
            WHERE BELNR = IT_BKPF-BELNR
            AND   GJAHR = IT_BKPF-GJAHR
            AND   QSSKZ NE SPACE
            AND   QSSKZ NE 'XX'
            AND   XREF3 NE SPACE
            AND BUKRS IN S_BUKRS
            AND   QSSKZ NE 'S1'
            AND   QSSKZ NE 'S2'.
          ENDIF.
          DATA : WRK_BSCHL LIKE BSIS-BSCHL.
          CLEAR  WRK_BSCHL.
          IF NOT WRK_TDSWRBTR IS INITIAL.
            IT_DATA-XBLNR = 'TDS/ECess'.
            IT_DATA-WRBTR = WRK_TDSWRBTR.
            SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSIS
            WHERE BELNR = IT_BKPF-BELNR
            AND   GJAHR = IT_BKPF-GJAHR
            AND   QSSKZ NE SPACE
            AND BUKRS IN S_BUKRS
            AND   QSSKZ NE 'XX'
            AND   XREF3 NE SPACE
            AND   QSSKZ NE 'S1'
            AND   QSSKZ NE 'S2'
            AND   BSCHL = '40'.
            IF WRK_BSCHL IS INITIAL.
              SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSAS
              WHERE BELNR = IT_BKPF-BELNR
              AND   GJAHR = IT_BKPF-GJAHR
              AND   QSSKZ NE SPACE
              AND   QSSKZ NE 'XX'
              AND   XREF3 NE SPACE
              AND BUKRS IN S_BUKRS
              AND   QSSKZ NE 'S1'
              AND   QSSKZ NE 'S2'
              AND   BSCHL = '40'.
            ENDIF.
            IF WRK_BSCHL IS INITIAL.
              IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
            ENDIF.
            IT_DATA-WRBTRC = IT_DATA-WRBTR.
            APPEND IT_DATA.
          ENDIF.
          IT_DATA-VBELNR = IT_BKPF-BELNR.
          IT_DATA-BELNR = ' '.
          IT_DATA-GJAHR = ' '.
          IT_DATA-BLDAT = ' '.
          IT_DATA-BLART = ' '.
          IT_DATA-ZUONR = ' '.
    Discount
          DATA : WRK_DEDWRBTR LIKE BSIS-WRBTR.
          CLEAR  WRK_DEDWRBTR.
          SELECT SUM( WRBTR ) INTO WRK_DEDWRBTR FROM BSIS
          WHERE BELNR = IT_BKPF-BELNR
          AND   GJAHR = IT_BKPF-GJAHR
          AND   QSSKZ EQ SPACE
          AND BUKRS IN S_BUKRS
          AND   BSCHL NE '50'.
          IF NOT WRK_DEDWRBTR IS INITIAL.
            SELECT SUM( WRBTR ) INTO WRK_DEDWRBTR FROM BSAS
            WHERE BELNR = IT_BKPF-BELNR
            AND   GJAHR = IT_BKPF-GJAHR
            AND   QSSKZ EQ SPACE
            AND BUKRS IN S_BUKRS
            AND   BSCHL NE '50'.
          ENDIF.
          IF NOT WRK_DEDWRBTR IS INITIAL.
            IT_DATA-XBLNR = 'Discount'.
            IT_DATA-WRBTR = WRK_DEDWRBTR.
            IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
            IT_DATA-WRBTRC = IT_DATA-WRBTR.
            APPEND IT_DATA.
          ENDIF.
    Invoice
        ELSE.
          REFRESH IT_BELNR.
          CLEAR   IT_BELNR.
          DATA : W_YEAR(4),
                 W_MONTH(2) VALUE '04',
                 W_DATE(2) VALUE '01',
                 W_YEAR1(8).
          W_YEAR = S_GJAHR-LOW.
          CONCATENATE W_YEAR W_MONTH W_DATE INTO W_YEAR1.
          SELECT BELNR GJAHR XBLNR BLDAT BLART ZUONR WRBTR BSCHL INTO
          TABLE IT_BELNR FROM BSAK
          WHERE AUGBL = IT_BKPF-BELNR
                AND AUGDT GE W_YEAR1
              AND   GJAHR = IT_BKPF-GJAHR
                AND   BELNR NE IT_BKPF-BELNR
                AND BUKRS IN S_BUKRS.
          SORT IT_BELNR BY BELNR GJAHR.
          LOOP AT IT_BELNR.
            CLEAR  WRK_TDSWRBTR.
            SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
            WHERE BELNR = IT_BELNR-BELNR
            AND   GJAHR = IT_BELNR-GJAHR
            AND   QSSKZ NE SPACE
            AND BUKRS IN S_BUKRS
            AND   QSSKZ NE 'XX'.
            IF WRK_TDSWRBTR IS INITIAL.
              SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
              WHERE BELNR = IT_BELNR-BELNR
              AND   GJAHR = IT_BELNR-GJAHR
              AND   QSSKZ NE SPACE
              AND BUKRS IN S_BUKRS
              AND   QSSKZ NE 'XX'.
            ENDIF.
            IT_DATA-VBELNR = IT_BKPF-BELNR.
            IT_DATA-BELNR = IT_BELNR-BELNR.
            IT_DATA-GJAHR = IT_BELNR-GJAHR.
            IT_DATA-XBLNR = IT_BELNR-XBLNR.
            IT_DATA-BLDAT = IT_BELNR-BLDAT.
            IT_DATA-BLART = IT_BELNR-BLART.
            IT_DATA-ZUONR = IT_BELNR-ZUONR.
            IT_DATA-WRBTR = IT_BELNR-WRBTR + WRK_TDSWRBTR .
            IF IT_BELNR-BSCHL GE '31' AND IT_BELNR-BSCHL LE '39'.
              IT_DATA-WRBTRC = IT_DATA-WRBTR.
            ELSE.
              IF IT_BELNR-BSCHL GE '21' AND IT_BELNR-BSCHL LE '29'.
                IT_DATA-WRBTRC = IT_DATA-WRBTR * - 1.
              ENDIF.
            ENDIF.
            APPEND IT_DATA.
            IT_DATA-VBELNR = IT_BKPF-BELNR.
            IT_DATA-BELNR = ' '.
            IT_DATA-GJAHR = ' '.
            IT_DATA-BLDAT = ' '.
            IT_DATA-BLART = ' '.
            IT_DATA-ZUONR = ' '.
    TDSBELNR
            IF NOT WRK_TDSWRBTR IS INITIAL.
              IT_DATA-XBLNR = 'TDS/ECess'.
              IT_DATA-WRBTR = WRK_TDSWRBTR.
              CLEAR  WRK_BSCHL.
              IF NOT WRK_TDSWRBTR IS INITIAL.
                IT_DATA-XBLNR = 'TDS/ECess'.
                IT_DATA-WRBTR = WRK_TDSWRBTR.
                SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSIS
                WHERE BELNR = IT_BELNR-BELNR
                AND   GJAHR = IT_BELNR-GJAHR
                AND   QSSKZ NE SPACE
                AND   QSSKZ NE 'XX'
                AND   BSCHL = '40'.
                IF WRK_BSCHL IS INITIAL.
                  SELECT SINGLE BSCHL INTO WRK_BSCHL FROM BSAS
                  WHERE BELNR = IT_BELNR-BELNR
                  AND   GJAHR = IT_BELNR-GJAHR
                  AND   QSSKZ NE SPACE
                  AND   QSSKZ NE 'XX'
                  AND   BSCHL = '40'.
                ENDIF.
                IF WRK_BSCHL IS INITIAL.
                  IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
                ENDIF.
                IT_DATA-WRBTRC = IT_DATA-WRBTR.
                APPEND IT_DATA.
              ENDIF.
            ENDIF.
          ENDLOOP.
          IT_DATA-VBELNR = IT_BKPF-BELNR.
          IT_DATA-BELNR = ' '.
          IT_DATA-GJAHR = ' '.
          IT_DATA-BLDAT = ' '.
          IT_DATA-BLART = ' '.
          IT_DATA-ZUONR = ' '.
    TDSVBELNR
          CLEAR  WRK_TDSWRBTR.
          SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
          WHERE BELNR = IT_BKPF-BELNR
          AND   GJAHR = IT_BKPF-GJAHR
          AND   QSSKZ NE SPACE
          AND BUKRS IN S_BUKRS
          AND   QSSKZ NE 'XX'
          AND   QSSKZ NE 'S1'
          AND   QSSKZ NE 'S2'.
          IF WRK_TDSWRBTR IS INITIAL.
            SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSAS
            WHERE BELNR = IT_BKPF-BELNR
            AND   GJAHR = IT_BKPF-GJAHR
            AND   QSSKZ NE SPACE
            AND   QSSKZ NE 'XX'
            AND   AUGBL = SPACE
            AND BUKRS IN S_BUKRS
            AND   QSSKZ NE 'S1'
            AND   QSSKZ NE 'S2'.
          ENDIF.
    **INSERTED BY PALANI ON 01.04.2006
          IF WRK_TDSWRBTR IS INITIAL.
            SELECT SUM( WRBTR ) INTO WRK_TDSWRBTR FROM BSIS
            WHERE BELNR = IT_BKPF-BELNR
            AND   GJAHR = IT_BKPF-GJAHR.
          ENDIF.
    ***END BY PALANI.
          IF NOT WRK_TDSWRBTR IS INITIAL.
            IT_DATA-XBLNR = 'TDS/ECess'.
            IT_DATA-WRBTR = WRK_TDSWRBTR.
            IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
            IT_DATA-WRBTRC = IT_DATA-WRBTR.
            APPEND IT_DATA.
          ENDIF.
          IT_DATA-VBELNR = IT_BKPF-BELNR.
          IT_DATA-BELNR = ' '.
          IT_DATA-GJAHR = ' '.
          IT_DATA-BLDAT = ' '.
          IT_DATA-BLART = ' '.
          IT_DATA-ZUONR = ' '.
    *DiscountVBELNR
          CLEAR  WRK_DEDWRBTR.
          SELECT SUM( WSKTO ) INTO WRK_DEDWRBTR FROM BSE_CLR
          WHERE BELNR_CLR = IT_BKPF-BELNR
          AND   GJAHR_CLR = IT_BKPF-GJAHR
          AND BUKRS IN S_BUKRS.
          IF NOT WRK_DEDWRBTR IS INITIAL.
            IT_DATA-XBLNR = 'Discount'.
            IT_DATA-WRBTR = WRK_DEDWRBTR.
            IT_DATA-WRBTR = IT_DATA-WRBTR * - 1.
            IT_DATA-WRBTRC = IT_DATA-WRBTR.
            APPEND IT_DATA.
          ENDIF.
        ENDIF.
      ENDLOOP.
    LOOP AT IT_BKPF.
      SELECT SINGLE BUTXT ORT01 LAND1 INTO (IT_DATA-BUTXT,IT_DATA-ORT01,IT_DATA-LAND1)
      FROM T001
      WHERE BUKRS IN S_BUKRS.
      MODIFY IT_DATA INDEX SY-TABIX.
    *ENDLOOP.
    ENDFORM.                    " select_data
    *&      Form  print_data
          text
    -->  p1        text
    <--  p2        text
    FORM PRINT_DATA .
      PERFORM OPEN_FORM.
      PERFORM WRITE_FORM.
      PERFORM CLOSE_FORM.
      LEAVE LIST-PROCESSING.
    ENDFORM.                    " print_data
    *&      Form  open_form
          text
    -->  p1        text
    <--  p2        text
    FORM OPEN_FORM .
      CALL FUNCTION 'OPEN_FORM'
        EXPORTING
          FORM     = 'ZFI_PAY_ADV_MODN'
          LANGUAGE = SY-LANGU.
    ENDFORM.                    " open_form
    *&      Form  write_form
          text
    -->  p1        text
    <--  p2        text
    FORM WRITE_FORM .
      LOOP AT IT_BKPF.
        IF SY-TABIX GT 1.
          AT NEW BELNR.
            CALL FUNCTION 'WRITE_FORM'
              EXPORTING
                ELEMENT = 'NEW'
                WINDOW  = 'MAIN'.
          ENDAT.
        ENDIF.
        LOOP AT IT_DATA WHERE VBELNR = IT_BKPF-BELNR.
          DATA : BEGIN OF IT_HKONT OCCURS 0,
                   HKONT LIKE BSIS-HKONT,
                   WRBTR LIKE BSIS-WRBTR,
                 END OF IT_HKONT.
          REFRESH IT_HKONT.
          CLEAR   IT_HKONT.
          SELECT HKONT WRBTR INTO TABLE IT_HKONT FROM BSIS
          WHERE BELNR = IT_BKPF-BELNR
          AND   GJAHR = IT_BKPF-GJAHR.
          DELETE IT_HKONT WHERE HKONT(3) NE '005'.
          IF NOT IT_HKONT[] IS INITIAL.
            LOOP AT IT_HKONT.
              IT_DATA-TOTAL = IT_DATA-TOTAL + IT_HKONT-WRBTR.
              MODIFY IT_DATA.
            ENDLOOP.
          ELSE.
            IT_DATA-TOTAL = IT_DATA-TOTAL + IT_DATA-WRBTR.
            MODIFY IT_DATA.
          ENDIF.
        ENDLOOP.
        LOOP AT IT_DATA WHERE VBELNR = IT_BKPF-BELNR.
          IF IT_DATA-BLART EQ ''. " for invoice Date
            IT_DATA-BLDAT = IT_BKPF-BLDAT.
          ENDIF.
          IT_DATA-LIFNR = IT_BKPF-LIFNR.
          IT_DATA-KUNNR = IT_BKPF-KUNNR.
          IT_DATA-NAME1 = IT_BKPF-NAME1.
          IT_DATA-NAME2 = IT_BKPF-NAME2.
          IT_DATA-NAME3 = IT_BKPF-NAME3.
          IT_DATA-NAME4 = IT_BKPF-NAME4.
          IT_DATA-CITY1 = IT_BKPF-CITY1.
          IT_DATA-REGION = IT_BKPF-REGION.
          IT_DATA-COUNTRY = IT_BKPF-COUNTRY.
          IT_DATA-STREET = IT_BKPF-STREET.
          IT_DATA-LANDX = IT_BKPF-LANDX.
          IT_DATA-BEZEI = IT_BKPF-BEZEI.
          CLEAR : WRK_HBKID , WRK_BANKL.
          SELECT SINGLE CHECT ZALDT HBKID INTO
          (IT_DATA-CHECT , IT_DATA-ZALDT , WRK_HBKID)
          FROM PAYR
          WHERE VBLNR = IT_BKPF-BELNR
          AND   GJAHR = IT_BKPF-GJAHR
          AND   VOIDR = '00'.
          SELECT SINGLE BANKL INTO WRK_BANKL
          FROM T012
          WHERE HBKID = WRK_HBKID.
         AND spras EQ 'EN'.
          SELECT SINGLE BANKA INTO IT_DATA-BANKA
          FROM BNKA
          WHERE BANKL = WRK_BANKL.
          MODIFY IT_DATA.
          CALL FUNCTION 'WRITE_FORM'
            EXPORTING
              ELEMENT = 'ITEMS'
              WINDOW  = 'MAIN'.
        ENDLOOP.
        CALL FUNCTION 'WRITE_FORM'
          EXPORTING
            ELEMENT = 'TOTAL'
            WINDOW  = 'MAIN'.
      ENDLOOP.
    ENDFORM.                    " write_form
    *&      Form  close_form
          text
    -->  p1        text
    <--  p2        text
    FORM CLOSE_FORM .
      CALL FUNCTION 'CLOSE_FORM' .
    ENDFORM.                    " close_form

    Hi
    Could you tell us what fields are not updated?
    Regards,
    Raj

  • What are the client requirements to use BI OnDemand?

    What are the requirements on the client side for using the bi.ondemand.com site.  I would like to know what RAM amount is neccessary as well as the Operating System version.

    The bi.ondemand.com product is a off premise cloud based computing platform.  Being browser based, the only requirements is that you are using  a browser at a version level higher than IE6.  IE7, IE8, and Firefox are the supported browsers.
    When opening bi.ondemand.com with an unsupported browser  such as Opera, you may see a dialog box explaining that it is not supported, but you will find that there will not be any problems.  Some browsers just have not been fully tested yet.
    There is no real requirements concerning the amount of ram as long as there is enough to support the running of the browser.

  • Saved Document Number needed after saving the customer  company code data

    I created a customer than I saved the company code data and forgot to note the number the saved document number. Next time I went to the same customer again and I wanted to find out the saved document number for the same customer but did not know where to look for. Can you tell me what I should do?
    Thanks

    Hi,
    For any customer there will be general data,Company code data and sales area data.
    Even though you maintain the general data or company code data  only one numebr will be generated.
    If you want to maintain some other data as comapny code data and sales area data we will goto XD02 and enter the company code,sales area nd customer number in the initial screen and we will maintain that data.
    I think you are thinking that different number will be created for different data which is wrong.
    So enter the same number and company code in XD03 and view your data.
    Regards,
    Krishna.

  • Document number generation w. ref to Part no.

    Hi Gurus,
    We have created a template to upload Cutover data  in CV01N with the following series.
    Document
    Document Type
    Document Part
    Document version
    Description
    1
    DWG
    000
    00
    TEST TEST TEST
    2
    DWG
    000
    00
    TEST TEST TEST
    3
    DWG
    000
    00
    TEST TEST TEST
    3
    DWG
    001
    00
    TEST TEST TEST
    3
    DWG
    002
    00
    TEST TEST TEST
    4
    DWG
    000
    00
    TEST TEST TEST
    when the input data is taken from Document Field i.e 1-4, system is generating an internal number as following:
    PS-2014-DWG-802864
    PS-2014-DWG-802863
    PS-2014-DWG-802862
    PS-2014-DWG-802861
    As the system have to check the Input which we are giving in the excel sheet (Document) and generating the new number also validate the part number. If the Document Part number has a series like 000,001,002 it should not generate a new number, but should take the same system generated number and proceed like the following.
    Document
    Document Type
    Document Part
    Document version
    Description
    PS-2014-DWG-802863
    DWG
    000
    00
    TEST TEST TEST
    PS-2014-DWG-802863
    DWG
    001
    00
    TEST TEST TEST
    PS-2014-DWG-802863
    DWG
    002
    00
    TEST TEST TEST
    Please let me know if there is any enhancement / solution to achieve this scenario.
    I appreciate for your help.
    Regards
    Naveen

    Hi Naveen,
    For data with document part & version as 000 & 00, you provide only the document type as input but in case of document part with 001, 002... you need to provide DIR number, document type, document part as inputs in your Z program.
    First, you need to have separate sheets for DIR's without document part & version and upload it for creating the DIR numbers. Then update new created DIR numbers in the second sheet where document part & versions are maintained and upload the same.
    You can have one Z program which checks document part & version (If it is 000 & 00), create the internal numbers and if document part & version is maintained, then take DIR number maintained in the sheet as input of DIR creation
    Regards,
    Ravi

  • Document Number generation in SRM

    Hi All,
    We have allocated a number range to various documents ( PO's, Contracts & Shopping carts ) in SRM SPRO. During transactions such as creating PO's & Contracts the number range gets generated even before saving the order.
    This leads to a situation where the number range gets allocated even when the order is not saved. Due to this problem we have observed that the number remains unconsumed & there is a skip in the PO numbers.
    Please provide a suitable solution to this issue. Also, confirm if this is a part of SRM standard functionality.
    Regards,
    Srinivas Reddy

    Hi Srinivas,
    Number ranges in the system are buffered in the main memory of          
    the application server. The server reads the next 10 free numbers       
    when starting up or when these 10 numbers are consumed. The symptom     
    you described can happen as follows:                                    
    Server 1 has 10 numbers 2,3,4,5,6,7,8,9,10,11 in memory.                
    Server 2 has 10 numbers 12,13,14,15,16,17,18,19,20,21 in memory.        
    A user logged on server 1 creates a document with number 2. Another     
    user creates the next document. If this user is logged on server 2,     
    this document will have the number 12. If you shut down a server,       
    the numbers not used are lost. This causes a gap in the sequence.       
    In case of having one server only, a missing number can happen when     
    rebooting the server. If the server had number range 2 - 11 in memory   
    and the last created document was no. 3, the next number after          
    rebooting the server will be no. 12.                                    
    To avoid having gaps in the number range, turn buffering off using      
    transaction SNUM for a particular object, REQREQ (shopping carts),      
    for example.  In that case the system reads the number from the database
    strictly in order.  However, please understand that buffering is        
    turned for performance reasons.                                         
    Regards
    Jason

  • Double Document number Generation from Z-tables -urgent

    I have a Z table with a number range and my user performs some task and when they press save button , a number is selected from the Z table, now problem is that when two users press ave at same instant same number is assigned to both for different entries -- try to sort this urgently

    Hi Joshi,
       Use Locks or Enque and Deque statements. Refer the following link.
    http://help.sap.com/saphelp_47x200/helpdata/en/a3/df5b1ee1bed348b198719e50af835d/frameset.htm
    regards,
    Chandra.
    Note: Please reward if helpful.

  • How create and work with Z output to meet the client requirment?

    hi  gurus,
    I am SD functional consultant and need ur help
    Please explain me how create and work with Z output .
    How we arrange and change the fields in header and footer
    where and how we do changes in Layouts setting and SAP scripts to meet the user requirments.
    pls forward functional or Tech spec of Z output
    points will be rewarded
    thanx & regards
    shabnum

    Hi shabnum ,
    I hope you can do it.
    Goto SE71, enter form name--> click change
    1) click in page window command button, Identify the header and footer window
    2) single click on Header window and click change button(pencil symbol)
    3) identify the fields and change order of the fields
    I hope this will help to solve your issue
    Regards,
    SaiRam

  • How enhance the default variant in standard transaction COOIS (SAP&COOIS) as per the user requirement

    Hi,
    I have one query that how to enhance the standard default variant (SAP&COOIS) for standard transaction COOIS.
    If any one know solution pls share.
    Thanks & Regards,
    J.Goud

    Hi Maine,
    Thanks for your reply.
    As you mentioned for your own program, you can control the parameter "I_SAVE", when calling "REUSE_ALV_GRID_DISPLAY".
    so already i have use the same logic and control the parameter through I_SAVE and here i am calling method ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY instead of "REUSE_ALV_GRID_DISPLAY".
    and it works fine when we execute the report but the logic doesnt work when the user tries to change and save the layout variant on the output screen of the report.
    Regards,
    Satish

Maybe you are looking for