No Assigned Amount.

Hi!
I have created a project and then created POs using a wbs under this project.
However, no assigned amount is being shown - either in CJ33 or S_ALR_87013542.
Can anybody help?
Regards,
RC.

Hi Riju,
Check Commitment Management is active or not in CO Area ?
Check the Availability control status in CJ32 in Extras --> Availability Control --> info, analysis....
If activated, check the Budget Profile for Activation Type and Availability control at what level ? i.e annual ? Overall ? Overall release ? Annual release ??
Still facing problem..revert back !!!
Regards,
Hari

Similar Messages

  • Assigning amount to months in Dynamic

    Hi all,
    I have a Dynamic ITAB, which is having month names as Dynamic columns. Now i want to assign some amount to each month.
    so, in the assignment part, i write :
    LOOP AT itab   INTO  wa_itab.
        ASSIGN COMPONENT  'MNT_AMT'  OF STRUCTURE <gwa_line> TO <gwa_field>.
        <gwa_field> = wa_itab-mnt_amt.  " this is my Amount value
        DO l_terms TIMES.  " l_terms is dynamic..
              ASSIGN COMPONENT  wa_flname OF STRUCTURE <gwa_line> TO <gwa_field>.
          <gwa_field> = wa_itab-mnt_amt.
        ENDDO.
    endloop.
    but the amount is assigning to the last month only.
    for ex: say i have months, starting from JANUARY to DECEMBER, in my case the amount is assigned to DECEMBer.
    i want to assign amount to each month.
    how to do that ?
    Thanks
    Kamala

    Hi,
    Do as below.
    Assume the month names are stored in an internal table with header line it_months with a single field month. Which means the content of the table it_months will be the colomns of the final interanal table of structure <gwa_line>.
    I assume there is a field which stores the month names in the internal table itab.
    The modified code is below.
    LOOP AT itab INTO wa_itab.
    ASSIGN COMPONENT 'MNT_AMT' OF STRUCTURE <gwa_line> TO <gwa_field>.
    <gwa_field> = wa_itab-mnt_amt. " this is my Amount value
    LOOP AT it_months WHERE month = wa_itab-month.
        ASSIGN COMPONENT it_months-month OF STRUCTURE <gwa_line> TO <gwa_field>.
        <gwa_field> =  wa_itab-mnt_amt.
      ENDLOOP.
    append <gwa_line> to <gt_line>.
    endloop.
    Hope this helps you,
    Murthy.

  • ECM- how to assign amount to the budget structure ?

    Hi,
    I'm new to Enterprise Compensation Management (ECM Module).
    I need to know how we create a budget structure for org units? How we assign amount to the budget structure.
    I found one program 'RHECM_BUDGET_GENERATE' which generates the budget structure, but it doesn't assign the amount. So how to assign the budget amount. Which transaction we use for the same ? or Is there any FM which assigns the amount to the budget structure? I am trying to enhance the program 'RHECM_BUDGET_GENERATE'  so that it assigns the budget amount also.
    Thanks in advance,
    Shrinivas

    I'm fuming! Same problem as I like to manually assign location data, esp as I just imported lots of old photos which I recently found on an old drive. They are now on new Photos app, but iPhoto, otherwise I would use the latter to assign geo data as before. It seems very complicated but maybe I could delete from iPhoto, somehow import in to iPhotos, then import from iPhoto to Photos. Would that work?
    Lots of my photos have ALSO lost their geo data and their face data due to the fact that somehow my new "Photos" library suddenly decided to put 4000 odd duplicates in the new library imported from iPhoto. I then ran a duplicate-finding application in the new photos library, managed to remove most of the duplicates, however most of the photos that then remained had lost their face data which took ages to put on in the first place!!! (Perhaps the ones I deleted had the location nd face data I wanted and the software kept the duplicate version. I don't know...)
    Plus I am having a nightmare with the new automatic uploading photos to icloud application that runs in the background if enabled.. It says its still uploading  but doesn't appear to have got past a thousand in last few days and just 'stuck' on this amount, despite saying it is uploading automatically. My iOS devices only show a fragment of what is on my mac.
    O well!

  • Assigning amount of space characters

    Is there a way to insert a certain number of spaces without physically inserting spaces between concatenated string fields?
    For instance, say I want 5 spaces between Employee first and Employee last name.
    Instead of doing this:
    {table.firstname} &"     "&{table.lastname} //5 spaces betwen fields
    I would like something like:
    {table.firstname} &"{special syntax for 5 spaces} "&{table.lastname} //5 spaces betwen fields
    Thanks in advance,
    Zack H.

    use this function
    space(5)
    regards,
    Raghavendra

  • Amount not getting displayed in the cube

    Hi,
    I have a ZTable which has got an Amount field declared like this.
    AMOUNT     WAERS     CUKY     5     0     Currency Key
    And I declared a ZAMOUNT as Amount in the cube and provided 0CURRENCY.
    Initially there was no value in the Amount column in the Ztable and hence could not see any value of Amount in the cube.But after entering values in the ZTable, I deleted the replicated the DS, create TR, UR and then create an InfoPckg and then created the Data Transfer Process. But still I am not able to see the Amount Value in the cube.
    Kindly Help
    Sam..

    > hi Sam,
    >
    > did you assign AMOUNT field from ztable to infoobject
    > ZAMOUNT in transfer rules ? move AMOUNT from left to
    > right in tab 'datasource./transf.rules ?
    > and ZAMOUNT mapped ? (with ZAMOUNT)
    >
    > hope this helps.
    Hi Edwin,
    Assigning and mapping which you mentioned is just pulling an arrow from the left Amount to right ZAmount, right? I did that. But there is an additional 0Currency on the right side without getting mapped? Should I map that also to Amount? Any issue with Rules.
    Regards,
    Sam...

  • Assign Budget is Doubled after Partial settlement reversal

    Dear Experts,
    When i m creating Cj88 Partial settlement of Rs.100/- & revesrsed it because of wrong Asset Value date.
    Again i done CJ88 for Rs.100/- with new Asset value date.
    But after reversal of settlemet & again settlement, my assign budget amount getting doubled of settlement amount i.e. Rs.(100+100=200) i, that its blocking budget for of Rs.100/- extra.
    Its booking doubled budget as same amount of settlement amount.
    Please suggest, its happen in production & not allowing to create PO for balance budget.
    Please help.
    Thanks & Regards,
    Amey

    Hi,
    Thanks for your reply,
    I checked than availability control anaylsis,
    I found this entries,
    COSP 2011 22 0059000001  RMBE D INR                        24,517,023.30  INR
    COSP 2011 21 0059000002  RMBA D INR                                 0.00  INR
    COSP 2011 11 0020030001     0001322611 COIN D INR          ___41,282,596.54  INR___
    COSP 2011 11 0020030001     0001322611 COIN C INR          20,641,298.27- INR
    COSP 2011 04 0059000001     0001322611 COIN D INR          10,784,468.10  INR
    COSP 2011 04 0059000001     0001322611 COIN C INR             245,626.18- INR
    COSP 2011 04 0059000001     0001322611 COIN O INR          10,538,841.92- INR   S
    COSP 2010 04 0059000001     0001322611 COIN D INR          10,102,456.35  INR
    COSP 2010 04 0059000001     0001322611 COIN O INR          10,102,456.35- INR   S
    In this entries Rs.41282596.54, is showing problem, Addition of Actual 41282596.54 + Commitmnet Rs.24517023 = Total Amount 65,799,619.84.
    In actual amount should be Rs.20641298.27 instead of Rs.41282596.54 then it will show,
    But when run same cyscle its showing propely in Develeopement & Quality, its showing same amount but Rs.412/82596.54 is not added in actual amount.
    It should show addittion of 2451023.300+20641298.27 = 45158321.54
    My actual amount should be 4518321.54.
    Please suggest, why this amount is added in actual amount or assign amount.
    thanks & reply,
    arvind

  • Travel Expense Amount as default

    Hi,
    I have configured 2 Travel expenses on the receipt basis and set the amount in them as default value. When selecting those 2 expenses while filling the Travel Expense Form the value is coming up but it is editable means the user can change the value set as default in them. Client wants that user should not be able to change that default value.
    How can this be done. Please let me Know.
    Thanks & Regards
    Ritu Goyal
    +91 9891389306

    Hi,
    While you assign default value/maximum amount in the table, assign it twice. For first time assign amount type as "Default Value" and for second one assign amount type "Error Message for Exceeding".
    For Eg: Travel exp type PDTA - Partday travel allowance.
    Default value should be $20
    1) assign as PDTA - Dafault value                             $20
    2) assign as PDTA - Error Message for Exceeding"    $20
    I hope this would help.
    cheers
    Samir

  • Assign budget is three time of overall Budget in T-code CJ30

    Dear Sir,
    I am facing a problem in my one WBS of project that when i am seeing the assign amount in cj30 it is looking three times of my current budget but another reports like cje0 & ALR. reports it is seeing perfect value i can't understand how it's can happened.
    Pls. advice.
    Regards,
    Vishal Kr. Sharma

    Hi,
    According to the SAP Performance assitant:
    "Assigned consists of commitment and actual postings. In PS, it also includes plan values of assigned networks and orders."
    so when you are in Tcode CJ30 goto EXtras>Availability control->Analysis.
    this will help you understand the Assigned budget.
    I will sugrest to Run Tcode:CJEN in case you have changed the AVAC settings after allocating the budget.
    hope its useful.
    Reward points if useful..
    thanks..

  • AL Clearing Account Difference

    Hello,
    When i checked a GL Account in FBL3N, there are 339 open items available with Balance "0" till date. But when I am trying to clear all the line items with F-03 then it is showing only 278 line items with 15 Cr as not assigned amount.
    Please help.
    JK

    Dear,
    Please look at the sap note 136754 on this and also the link below
    Re: Difference between F-03 & FBL3N
    maybe a help in sorting out the difference.

  • Training & Event Management - Budgeting

    Dear All,
    In Training & Event mgt, there is one Budgeting function. It budgeting function what I know is some amount is assign to the head org unit & to its all corresponding org units. Then when an employee from the org unit is booked with attendee fee then the same amount is deducted from the org unit to which he belongs to.
    But is it possible if I assign amount only to the head org unit, and not to the org units which comes under the head org unit and book an employee with attendee fee who do not belongs to the head org unit but belongs to some other lower level  org unit. So in this scenario whether the Budgeting function will work? And whether the cost items which are maintained in business event level can also be taken for budgeting?      
    Regards,
    Daniel

    Hi,
    If you mean how to include pricing within the TEM system, than you may do so on the Prices tab at Business Event Type level - you may specify the internal activity allocation and the external one for pricing.
    You may also use the functionality of Price Proposal for automatic price calculation.
    This prices can be transferred to the SAP CO system by an interface (transaction PV18): the participants' cost centers are debited and the cost center of the cost object of the business event is credited.
    Regards,
    Liran

  • Accounts generated after reservation

    Hi to all,
    I've done reservation against the sales order in MB21 using mvt typ 231.
    After that i had issued the materil with ref to sales order n reservation in MB1A using mvt typ 231.
    After goods issue, following accounts are generated. I want to know whether i'm going on the right track. Is the procedure which i'm following correct? if not plz suggest corrections.
    1) Using mvt typ 231 following accts are generated
    Itm PK Account    Account short text   Assignment                   Amount      Trs                                                                               
    1 91 300300     SERVICE STOCK        20070831                  120,200.49-  BSX
       2 81 893015     Cost/own goods sold  20070831                   120,200.49    GBB
    2) Now following are the documents generated when sales person follows his normal procedure i.e. at the thime of delivery VL01N, he does the post goods issue with mvt typ 631
                                                                                    Itm PK Account    Account short text   Assignment                   Amount     Trs                                                                               
    1 91 300300     SERVICE STOCK        20070831                  240,400.98-  BSX 
       2 81 893011     Cost/own goods sold  20070831                   240,400.98   GBB 
        Now the problem is that with mvt typ 601 acct no 893011 is generated , while in 231 acct no 893015 is generated. I'm confused. Please show me the path.
    Regards,
    Piyush
    Message was edited by:
            Piyush Mishra

    Hi,
    Subcontracting: -
    During GR (MIGO);
    (BSX) Stock A/c of Assembly - Dr
    (BSV) Change in Subcon Stock - Cr
    (FRL) Subcontracting Charges - Dr
    (WRX) GR/IR Clearing A/c - Cr
    (BSX) Stock A/c of Components - Cr
    (GBB-VBO) Consumption A/c of Components - Dr
    During LIV (MIRO);
    Vendor Account - Cr
    GR/IR Clearing A/c - Dr
    Consignment: -
    During Transfer Posting (MB1B or MIGO);
    (BSX) Stock A/c - Dr
    (KON) Consignment Liabilities - Cr
    During Consignment Settlement MRKO;
    Vendor Account - Cr
    Consignment Liabilities - Dr

  • F-53, Simulate time getting message "Correct the marked line items"

    Hi All,
    While posting the outgoing payment (F-53),  at time of simulate I'm getting the message " correct the marked line items" & missing the vendor side line item but showing for enter amont( bank acccount line items) on screen.
    when I trying to do the second time, I observed that, process open item screen, amount entered & Assiged amount both showing minus(-)sign
    I guess the message getting because of the same sing(-) of vendor item & bank account,
    Can some one help me out to understanding the why it showing same sign and reslove the issue
    Thanks
    Ramakanth

    Hi Ravi,
    Yes, I have posted FB60 and in FBL1N showing credit balance of vendor but when clearing F-53 suprisingly showing wrong side amount I mean assigned amount( open item).
    Is there any configuration missing or any thing i missing is system.
    Thank you
    Ramakanth

  • Business Area not coming in FS10N layout.

    Dear SAP Friends,
    I am working in a client where "Document Splitting" was activated on the basis of "Business Area" from the 1st August,2008. In this client their is four business areas. When I am getting the balance sheet as per Business Area in F.01 every GL shown the amount as per business area & also a some of amount is shown under the not assigned head. Amount under the not assigned is total of document of having no business area.
    Now my client wants that all not assigned amount should be distributed as per the business area & not assigned amount will come to zero.The field of business area is "GSBER".
    Now for that I am testing it on development. I have selected on document having no business area and updated the table "BSEG" for filed "GSBER" for that business area manually through ABAP. When I am seeing the same  document under FB03 the system shows the Business Area correctly which I have given in the table. But when I see the General Ledger balance in FS10N (In layout selected business area column) the same document does not give business area in that business area column. But when I select it for details it shown the business area in that document.
    Now my issue is why this is happening ? or is their any another way to do this ?
    Because i have to update all of documents of before 1st, August 2008 with no business area .
    Please give any solution ASAP & for helpful answer points will be surely awarded.
    Thanks & Regards in advance  
    Sandeep
    Edited by: Sandeep on Dec 6, 2008 11:34 AM

    Hi,
    Touching a cluster table like BSEG thru ABAP is a tricky thing.  You would need to work out all linkages to other tables for the data you are touching, would suggest a where used for field business area and update all other tables relevant to the data, like BSI* and BSA*.
    For FS10N, the data is not read from BSEG but rather from the totals tables like GLT0.
    Cheers

  • Customer Ageing - Report Painter

    Hi,
       Can any tell whether we can achieve the customized reports for the customer ageing (Txn: S_ALR_870121276) through report painter. If so can i get any help for the steps to be followed /material regarding this.
    Regards,
    Nagendra Prasad.J

    This is one aging report.. have a look at it and see if its useful.
    This displays cusomer and vendor aging report.
    Award points if useful.
    REPORT zgar_ic_custvend_aging NO STANDARD PAGE HEADING
                                  LINE-SIZE 192
                                  MESSAGE-ID zz
                                  LINE-COUNT 65.
                           Data declaration                              *
    TABLES: bsik,                          "Secondary Index for Vendors
            t880,                          "Global Company Data
            t001s,                         "Accounting Clerks
            t001.                          "Company Codes
                   Internal table declaration.                           *
    *Store data from vendor tables (BSIK, BSAK).
    DATA: BEGIN OF g_t_venddata OCCURS 0,
             bukrs LIKE bsak-bukrs,          "Company code
             lifnr LIKE bsak-lifnr,          "Vendor number
             gjahr LIKE bsak-gjahr,          "Fiscal year
             zuonr LIKE bsak-zuonr,          "Assignment number
             shkzg LIKE bsak-shkzg,          "Debit/credit indicator
             dmbtr LIKE bsak-dmbtr,          "Amount in local currency
             dmbe2 LIKE bsak-dmbe2,          "Amount in global currency
             belnr LIKE bsak-belnr,          "Document number
             augdt LIKE bsak-augdt,          "Clearing date
             augbl LIKE bsak-augbl,          "Doc. no. of clearing document
             budat LIKE bsak-budat,          "Posting date
             hkont LIKE bsak-hkont,          "GL account
             waers LIKE bsak-waers,          "Currency key
             xblnr LIKE bsak-xblnr,          "Document number
             acctp TYPE c,                   "Account type. D or K
             name1 LIKE kna1-name1,          "Comp nmae
         END OF g_t_venddata.
    *Store data from customer tables (BSID, BSAD).
    DATA: BEGIN OF g_t_custdata OCCURS 0,
            kunnr LIKE bsad-kunnr,                "Customer Number
            bukrs LIKE bsad-bukrs,                "Company Code
            gjahr LIKE bsad-gjahr,                "Fiscal year
            augdt LIKE bsad-augdt,                "clearing date
            zuonr LIKE bsad-zuonr,                "Assignment number
            belnr LIKE bsad-belnr,                "acct doc no
            name1 LIKE lfa1-name1,                "name from cust master
            budat LIKE bsad-budat,                "posting date
            bldat LIKE bsad-bldat,                "document date
            xblnr LIKE bsad-xblnr,                "document number
            shkzg LIKE bsad-shkzg,                "debit/credit indicator
            dmbtr LIKE bsad-dmbtr,                "local currency
            dmbe2 LIKE bsad-dmbe2,                "Group currency
            waers LIKE bsad-waers,                "Currency key
            hkont LIKE bsad-hkont,                "GL account
            acctp TYPE c,                         "Account type  D/K
          END OF g_t_custdata.
    *Store data according to age category.
    DATA: BEGIN OF g_t_maintab OCCURS 0,
            bukrs LIKE bsad-bukrs,                "Company Code
            tpart(10) TYPE c,                     "Trading partner
            acctp TYPE c,                         "Account type D/K
            gjahr LIKE bsad-gjahr,                "Fiscal year
            augdt LIKE bsad-augdt,                "clearing date
            zuonr LIKE bsad-zuonr,                "Assignment number
            belnr LIKE bsad-belnr,                "acct doc no
            name1 LIKE lfa1-name1,                "name from cust master
            budat LIKE bsad-budat,                "posting date
            bldat LIKE bsad-bldat,                "document date
            xblnr LIKE bsad-xblnr,                "document number
            shkzg LIKE bsad-shkzg,                "debit/credit indicator
            dmbtr LIKE bsad-dmbtr,                "local currency
            hkont   LIKE bsad-hkont,              "GL account
            bktxt   LIKE bkpf-bktxt,              "Document header text
            butxt   LIKE t001-butxt,              "company name
            waers   LIKE bsad-waers,              "Currency key
            balamt  TYPE dmbtr,                   "balance amount
            amount1 TYPE dmbtr,                   "Amount for category 1
            amount2 TYPE dmbtr,                   "Amount for category 2
            amount3 TYPE dmbtr,                   "Amount for category 3
            amount4 TYPE dmbtr,                   "Amount for category 4
          END OF g_t_maintab.
    *Store all the vendor numbers
    DATA: BEGIN OF g_t_vend OCCURS 5000,
            lifnr                LIKE lfa1-lifnr,
            name1                LIKE lfa1-name1,
          END OF g_t_vend.
    *Store all the customer numbers
    DATA: BEGIN OF g_t_cust OCCURS 5000,
            kunnr                LIKE kna1-kunnr,
            name1                LIKE kna1-name1,
          END OF g_t_cust.
    *Range to store trading partner numbers.
    RANGES : r_tpart FOR lfa1-lifnr.
    Variables to maintain open items count
    DATA: g_open_items  TYPE i,
          g_open_items1 TYPE i,
          g_open_items2 TYPE i,
          g_open_items3 TYPE i,
          g_open_items4 TYPE i.
    *Header texts (For report header)
    DATA: g_headertext1(50),
          g_headertext2(16).
                   Selection screen declaration.                         *
    SELECT-OPTIONS p_ccode FOR bsik-bukrs OBLIGATORY.      "Company code
    SELECT-OPTIONS p_tpartv FOR t880-rcomp.                "Trading partner
    SELECT-OPTIONS p_clerk FOR t001s-busab.                "Accounting clerk
    SELECT-OPTIONS p_pdate FOR sy-datum.                   "Posting date
    PARAMETERS p_adate LIKE sy-datum DEFAULT sy-datum.     "Age as of date
    *GL Account codes
    SELECT-OPTIONS p_glacc FOR bsik-hkont DEFAULT '48200000' TO '48299999'
                   OBLIGATORY.
    *Data Column range (Age range)
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK age_range WITH FRAME TITLE text-001.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) text-002.
    SELECTION-SCREEN POSITION 33.
    PARAMETERS p_range1(4) TYPE c DEFAULT '30' OBLIGATORY.
    SELECTION-SCREEN POSITION 43.
    PARAMETERS p_range2(4) TYPE c DEFAULT '60' OBLIGATORY.
    SELECTION-SCREEN POSITION 53.
    PARAMETERS p_range3(4) TYPE c DEFAULT '90' OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK age_range.
    *Reporting Currency
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK crr_sel WITH FRAME TITLE text-003.
    PARAMETERS: p_local  RADIOBUTTON GROUP cgrp DEFAULT 'X',
                p_grpcrr RADIOBUTTON GROUP cgrp.
    SELECTION-SCREEN END OF BLOCK crr_sel.
    *Type of report
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK rep_sel WITH FRAME TITLE text-004.
    PARAMETERS: p_detrep  RADIOBUTTON GROUP rgrp DEFAULT 'X',
                p_sumrep  RADIOBUTTON GROUP rgrp.
    SELECTION-SCREEN END OF BLOCK rep_sel.
                               Top-Of-Page                               *
    TOP-OF-PAGE.
      IF p_detrep = 'X'.
    Write report header for detailed report.
        PERFORM f8000_write_comp_header
                USING g_t_maintab-bukrs
                      g_t_maintab-waers
                      g_t_maintab-butxt
                      text-t02
                      g_headertext1.
      ELSE.
    Write report header for summary report.
        PERFORM f8000_write_comp_header
                USING '0000'
                      g_t_maintab-waers
                      text-t05
                      g_headertext1
                      g_headertext2.
      ENDIF.
    *Eject
                           Line selection event                          *
    AT LINE-SELECTION.
      IF p_detrep = 'X'.
        SET PARAMETER ID 'BLN' FIELD g_t_maintab-belnr.
        SET PARAMETER ID 'BUK' FIELD g_t_maintab-bukrs.
        SET PARAMETER ID 'GJR' FIELD g_t_maintab-gjahr.
        IF NOT g_t_maintab-belnr IS INITIAL.
    Call transaction FB03 to display line item details.
          CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
        ELSE.
          MESSAGE e999 WITH text-e01.
        ENDIF.
    Clear belnr.
        MOVE space TO g_t_maintab-belnr.
      ENDIF.
    *Eject
                   Main processing of program starts here                *
    START-OF-SELECTION.
    Pad zeroes to the trading partner range to make it 10 chars
      PERFORM f0100_prepare_tradingpartners.
    Fetch data from customer and vendor tables.
      PERFORM f1000_fetch_data.
    Prepare data. Assign sign to amount, separate line items into 4 age
    categories
      PERFORM f2000_prepare_data.
         End of selection.
    END-OF-SELECTION.
    Write reports
      IF NOT g_t_maintab[] IS INITIAL.
        IF p_detrep = 'X'.
          PERFORM f4000_write_detailed_rep.
        ELSE.
          PERFORM f5000_write_summary_rep.
        ENDIF.
      ELSE.
        MESSAGE i999 WITH text-e02 text-e03.
      ENDIF.
    *Eject
    *&      Form  f0100_prepare_tradingpartners
          Subroutine for preparing trading partner numbers. Pad extra
          zeros to make trading partner field size 10.
    FORM f0100_prepare_tradingpartners.
      LOOP AT p_tpartv.
        MOVE-CORRESPONDING p_tpartv TO r_tpart.
        IF NOT r_tpart-low IS INITIAL.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
               EXPORTING
                    input  = r_tpart-low
               IMPORTING
                    output = r_tpart-low.
        ENDIF.
        IF NOT r_tpart-high IS INITIAL.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
               EXPORTING
                    input  = r_tpart-high
               IMPORTING
                    output = r_tpart-high.
        ENDIF.
        APPEND r_tpart.
      ENDLOOP.
    ENDFORM.                    " f0100_prepare_tradingpartners
    *Eject
    *&      Form  f1000_fetch_data
          This subroutine is used to fetch data from customer (BSID and
           BSAD) and vendor (BSIK and BSAK) tables.
    FORM f1000_fetch_data.
    *Get vendor data.
      PERFORM f1100_fetch_vend_data.
    *Get customer data.
      PERFORM f1200_fetch_cust_data.
    ENDFORM.                    " f1000_fetch_data
    *Eject
    *&      Form  f1100_fetch_vend_data
          This subroutine is used to get data from BSIK and BSAK
          tables. First all vendors are selected then all line items are
          retrieved from BSIK and BSAK tables.
    FORM f1100_fetch_vend_data.
      PERFORM f9000_progress_indicator USING text-m01.
    *Select all vendors.
      SELECT h~lifnr
             h~name1
      INTO TABLE g_t_vend
      FROM lfa1 AS h
      JOIN lfb1 AS c
        ON h~lifnr = c~lifnr
    WHERE h~lifnr IN r_tpart
       AND c~bukrs IN p_ccode
       AND c~busab IN p_clerk.
      IF NOT g_t_vend[] IS INITIAL.
        PERFORM f9000_progress_indicator USING text-m01.
    Select open line items.
        SELECT bukrs                 "company
               lifnr                 "vendor number
               augdt                 "clearing date
               augbl                 "docno for clearing doc
               zuonr                 "allocation number
               gjahr                 "fiscal year
               belnr                 "acct doc no
               buzei                 "line item within doc
               budat                 "posting date
               waers                 "Currency key
               xblnr                 "document number
               shkzg                 "debit, credit indicator
               dmbtr                 "local currency
               hkont                 "gl acct
               dmbe2                 "group currency
         FROM bsik
         INTO CORRESPONDING FIELDS OF TABLE g_t_venddata
         FOR ALL ENTRIES IN g_t_vend
         WHERE bukrs IN p_ccode           "company code
         AND lifnr = g_t_vend-lifnr       "trading partner
         AND budat IN  p_pdate            "Posting date
         AND budat <= p_adate
         AND hkont IN p_glacc             "gl acct
        PERFORM f9000_progress_indicator USING text-m04.
    Select cleared line items.
        SELECT bukrs                 "company
               lifnr                 "vendor number
               augdt                 "clearing date
               augbl                 "docno for clearing doc
               zuonr                 "allocation number
               gjahr                 "fiscal year
               belnr                 "acct doc no
               buzei                 "line item within doc
               budat                 "posting date
               waers                 "Currency key
               xblnr                 "document number
               shkzg                 "debit, credit indicator
               dmbtr                 "local currency
               hkont                 "gl acct
               dmbe2                 "group currency
         FROM bsak
         APPENDING CORRESPONDING FIELDS OF TABLE g_t_venddata
         FOR ALL ENTRIES IN g_t_vend
         WHERE bukrs IN p_ccode           "Company code
         AND lifnr =   g_t_vend-lifnr     "Selected vendors
         AND augdt >   p_adate
         AND budat IN  p_pdate            "Posting date
         AND budat <=  p_adate
         AND hkont IN  p_glacc            "GL acct
      ENDIF.
      IF NOT g_t_venddata[] IS INITIAL.
    *Set Account type flag for vendors -- 'K'.
        SORT g_t_venddata BY bukrs lifnr.
        SORT g_t_vend     BY lifnr.
        g_t_venddata-acctp = text-k01.
        MODIFY g_t_venddata TRANSPORTING acctp WHERE acctp = ' '.
    Add vendor names.
        LOOP AT g_t_venddata WHERE name1 = ' '.
          READ TABLE g_t_vend
               WITH KEY lifnr = g_t_venddata-lifnr BINARY SEARCH.
          IF sy-subrc = 0.
            g_t_venddata-name1 = g_t_vend-name1.
            MODIFY g_t_venddata TRANSPORTING name1 WHERE lifnr =
                   g_t_venddata-lifnr.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " f1100_fetch_vend_data
    *Eject
    *&      Form  f1200_fetch_cust_data
          This function module is used to get data from BSID and BSAD
          tables. First all customers are selected then all line items
          are retrieved from BSIK and BSAK tables.
    FORM f1200_fetch_cust_data.
      PERFORM f9000_progress_indicator USING text-m06.
    *Select all customers.
      SELECT h~kunnr
           h~name1
      INTO TABLE g_t_cust
      FROM kna1 AS h
      JOIN knb1 AS c
        ON h~kunnr = c~kunnr
    WHERE h~kunnr IN r_tpart
       AND c~bukrs IN p_ccode
       AND c~busab IN p_clerk.
      IF NOT g_t_cust[] IS INITIAL.
        PERFORM f9000_progress_indicator USING text-m06.
    *Fetch customer open items.
        SELECT bukrs                 "company
               kunnr                 "customer number
               augdt                 "clearing date
               augbl                 "docno for clearing doc
               zuonr                 "allocation number
               gjahr                 "fiscal year
               belnr                 "acct doc no
               buzei                 "line item within doc
               budat                 "posting date
               waers                 "Currency key
               xblnr                 "document number
               shkzg                 "debit, credit indicator
               dmbtr                 "local currency
               hkont                 "gl acct
               dmbe2                 "group currency
         FROM bsid
         INTO CORRESPONDING FIELDS OF TABLE g_t_custdata
         FOR ALL ENTRIES IN g_t_cust
         WHERE bukrs IN p_ccode           "company code
         AND kunnr = g_t_cust-kunnr       "Selected customer
         AND budat IN  p_pdate            "Posting date
         AND budat <= p_adate
         AND hkont IN  p_glacc            "GL acct
        PERFORM f9000_progress_indicator USING text-m07.
    Select Customer cleared line items.
        SELECT bukrs                 "company
               kunnr                 "customer number
               augdt                 "clearing date
               augbl                 "docno for clearing doc
               zuonr                 "allocation number
               gjahr                 "fiscal year
               belnr                 "acct doc no
               buzei                 "line item within doc
               budat                 "posting date
               waers                 "Currency key
               xblnr                 "document number
               shkzg                 "debit, credit indicator
               dmbtr                 "local currency
               hkont                 "gl acct
               dmbe2                 "group currency
         FROM bsad
         APPENDING CORRESPONDING FIELDS OF TABLE g_t_custdata
         FOR ALL ENTRIES IN g_t_cust
         WHERE bukrs IN p_ccode           "company code
         AND kunnr = g_t_cust-kunnr       "Selected customer
         AND augdt > p_adate
         AND budat IN  p_pdate            "Posting date
         AND budat <= p_adate
         AND hkont IN p_glacc             "GL acct
      ENDIF.
      IF NOT g_t_custdata[] IS INITIAL.
    *Set account type for customers -- 'D'.
        SORT g_t_custdata BY bukrs kunnr.
        SORT g_t_cust     BY kunnr.
        g_t_custdata-acctp = text-d01.
        MODIFY g_t_custdata TRANSPORTING acctp WHERE acctp = ' '.
    Add customer names.
        LOOP AT g_t_custdata WHERE name1 = ' '.
          READ TABLE g_t_cust
               WITH KEY kunnr = g_t_custdata-kunnr BINARY SEARCH.
          IF sy-subrc = 0.
            g_t_custdata-name1 = g_t_cust-name1.
            MODIFY g_t_custdata TRANSPORTING name1 WHERE kunnr =
                   g_t_custdata-kunnr.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " f1200_fetch_cust_data
    *Eject
    *&      Form  f2000_Prepare_data
          This function module is used to format data according to report
          1. Fetch local or global amount value according to user
             parametrs.
          2. Sign is assigned to each amount
          3. Line items are categorized according to the aging category
          4. Populate document header text.
          5. Populate company names.
    FORM f2000_prepare_data.
      DATA : l_amount TYPE dmbtr,
             l_age_of_item TYPE p,
             l_as_of_age TYPE d,
             l_posting_date TYPE d,
             l_time TYPE t,
             l_count TYPE sy-tabix.
      DATA: BEGIN OF l_t_doc_txt OCCURS 0,
            bukrs TYPE bkpf-bukrs,
            belnr TYPE bkpf-belnr,
            bktxt LIKE bkpf-bktxt,
            END OF l_t_doc_txt.
      DATA: BEGIN OF l_t_curr_txt OCCURS 0,
              bukrs LIKE t001-bukrs,
              waers LIKE t001-waers,
              butxt LIKE t001-butxt,
            END OF l_t_curr_txt.
      PERFORM f9000_progress_indicator USING text-m03.
      l_as_of_age = p_adate.
      MOVE text-t01 TO l_time.
    *Prepare G_T_MAINTAB, 1. Populate vendor data.
      LOOP AT g_t_venddata.
        CLEAR: g_t_maintab, l_amount, l_age_of_item, l_posting_date.
        MOVE-CORRESPONDING g_t_venddata TO g_t_maintab.
        g_t_maintab-tpart = g_t_venddata-lifnr.
    Check for currency selected by the user.
        IF p_local = 'X'.
          l_amount = g_t_venddata-dmbtr.
        ELSE.
          l_amount = g_t_venddata-dmbe2.
        ENDIF.
    Check for type of transaction. Debit or Credit.
        IF g_t_venddata-shkzg = 'H'.
          l_amount = l_amount * -1.
        ENDIF.
        MOVE g_t_venddata-budat TO l_posting_date.
    Assign amount value to appropriate aging category.
    Calculate age of line item
        CALL FUNCTION '/SDF/CMO_DATETIME_DIFFERENCE'
             EXPORTING
                  date1            = l_posting_date
                  time1            = l_time
                  date2            = l_as_of_age
                  time2            = l_time
             IMPORTING
                  datediff         = l_age_of_item
             EXCEPTIONS
                  invalid_datetime = 1
                  OTHERS           = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        IF l_age_of_item <= p_range1.                           "Range1
          g_t_maintab-amount1 = l_amount.
        ELSE.
          IF l_age_of_item > p_range1 AND l_age_of_item <= p_range2."Range2
            g_t_maintab-amount2 = l_amount.
          ELSE.
            IF l_age_of_item > p_range2
                AND l_age_of_item <= p_range3.                  "Range3
              g_t_maintab-amount3 = l_amount.
            ELSE.                                               "Range4
              g_t_maintab-amount4 = l_amount.
            ENDIF.
          ENDIF.
        ENDIF.
    Assign balance amounts.
        g_t_maintab-balamt  = l_amount.
    Add record to main internal table
        APPEND g_t_maintab.
      ENDLOOP.
    *Prepare G_T_MAINTAB, 2. Populate customer data.
      LOOP AT g_t_custdata.
        CLEAR: g_t_maintab, l_amount, l_age_of_item, l_posting_date.
        MOVE-CORRESPONDING g_t_custdata TO g_t_maintab.
        g_t_maintab-tpart = g_t_custdata-kunnr.
    Check for currency selected by the user.
        IF p_local = 'X'.
          l_amount = g_t_custdata-dmbtr.
        ELSE.
          l_amount = g_t_custdata-dmbe2.
        ENDIF.
    Check for type of transaction. Debit or Credit.
        IF g_t_custdata-shkzg = 'H'.
          l_amount = l_amount * -1.
        ENDIF.
        MOVE g_t_custdata-budat TO l_posting_date.
    Assign amount value to appropriate aging category.
    Calculate age of line item
        CALL FUNCTION '/SDF/CMO_DATETIME_DIFFERENCE'
             EXPORTING
                  date1            = l_posting_date
                  time1            = l_time
                  date2            = l_as_of_age
                  time2            = l_time
             IMPORTING
                  datediff         = l_age_of_item
             EXCEPTIONS
                  invalid_datetime = 1
                  OTHERS           = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        IF l_age_of_item <= p_range1.                           "Range1
          g_t_maintab-amount1 = l_amount.
        ELSE.
          IF l_age_of_item > p_range1 AND l_age_of_item <= p_range2."Range2
            g_t_maintab-amount2 = l_amount.
          ELSE.
            IF l_age_of_item > p_range2
               AND l_age_of_item <= p_range3.                   "Range3
              g_t_maintab-amount3 = l_amount.
            ELSE.                                               "Range4
              g_t_maintab-amount4 = l_amount.
            ENDIF.
          ENDIF.
        ENDIF.
    Assign balance amounts.
        g_t_maintab-balamt  = l_amount.
        APPEND g_t_maintab.
      ENDLOOP.
      IF NOT g_t_maintab[] IS INITIAL.
        SORT g_t_maintab BY bukrs belnr.
        SELECT bukrs belnr bktxt FROM bkpf
              INTO CORRESPONDING FIELDS OF TABLE l_t_doc_txt
              FOR ALL ENTRIES IN g_t_maintab
              WHERE bukrs = g_t_maintab-bukrs AND
                    belnr = g_t_maintab-belnr AND
                    gjahr = g_t_maintab-gjahr.
        SELECT bukrs butxt waers FROM t001
               INTO CORRESPONDING FIELDS OF TABLE l_t_curr_txt
               WHERE bukrs IN p_ccode.
        SORT l_t_doc_txt BY bukrs belnr.
        SORT l_t_curr_txt BY bukrs.
    Add Document header texts
        LOOP AT g_t_maintab.
          l_count = sy-tabix.
          READ TABLE l_t_doc_txt
               WITH KEY bukrs = g_t_maintab-bukrs belnr = g_t_maintab-belnr
               BINARY SEARCH.
          IF sy-subrc = 0.
            g_t_maintab-bktxt = l_t_doc_txt-bktxt.
            MODIFY g_t_maintab INDEX l_count TRANSPORTING bktxt.
          ENDIF.
          CLEAR l_t_doc_txt-bktxt.
        ENDLOOP.
        PERFORM f9000_progress_indicator USING text-m03.
    Update company name and currency field.
        LOOP AT g_t_maintab WHERE butxt =  ' ' OR waers = ' '.
          READ TABLE l_t_curr_txt
               WITH KEY bukrs = g_t_maintab-bukrs BINARY SEARCH.
          IF sy-subrc = 0.
            g_t_maintab-butxt    = l_t_curr_txt-butxt.
            g_t_maintab-waers    = l_t_curr_txt-waers.
            MODIFY g_t_maintab TRANSPORTING butxt waers
                      WHERE bukrs = g_t_maintab-bukrs.
          ENDIF.
          CLEAR: l_t_curr_txt-butxt, l_t_curr_txt-waers.
        ENDLOOP.
      ENDIF.                    "IF NOT g_t_maintab[] IS INITIAL
    ENDFORM.                    " f2000_Prepare_data
    *Eject
    *&      Form  f4000_write_detailed_rep
          This subroutine is used to write detailed report.
    FORM f4000_write_detailed_rep.
      DATA l_t_maintab LIKE g_t_maintab.
    Variables for summary amount of each account type of a trading pair
      DATA: l_tpart_acc1 TYPE dmbtr,
            l_tpart_acc2 TYPE dmbtr,
            l_tpart_acc3 TYPE dmbtr,
            l_tpart_acc4 TYPE dmbtr,
            l_tpart_acc_bal TYPE dmbtr.
    Variables for summary amount of each trading pair
      DATA: l_tpart1 TYPE dmbtr,
            l_tpart2 TYPE dmbtr,
            l_tpart3 TYPE dmbtr,
            l_tpart4 TYPE dmbtr,
            l_tpart_bal TYPE dmbtr.
      SET TITLEBAR 'DETAILED_REPORT'.
    Prepare header texts for report header.
      CONCATENATE  p_adate4(2)  '/' p_adate6(2) '/' p_adate+0(4) INTO
           g_headertext1.
      CONCATENATE text-h20 g_headertext1
                  INTO g_headertext1 SEPARATED BY space.
      SORT g_t_maintab BY bukrs tpart acctp.
    *Start detailed report.
      FORMAT INTENSIFIED OFF.
      LOOP AT g_t_maintab.
        l_t_maintab = g_t_maintab.
    *At new company code write page header
        AT NEW bukrs.
          g_t_maintab = l_t_maintab.
          NEW-PAGE.
        ENDAT.
    *Write line item records.
        WRITE:/2    l_t_maintab-tpart,      "Trading partner
                14  l_t_maintab-acctp,      "Account type
                17  l_t_maintab-belnr,      "Document number
                35  l_t_maintab-budat,      "posting date
                47  l_t_maintab-xblnr,      "Reference doc. number
                65  l_t_maintab-bktxt,      "Doc header text.
                92  l_t_maintab-balamt,     "balance amount
                114 l_t_maintab-amount1,    "Amount cat 1
                136 l_t_maintab-amount2,    "Amount cat 2
                158 l_t_maintab-amount3,    "Amount cat 3
                180 l_t_maintab-amount4.    "Amount cat 4
        g_t_maintab-bukrs = l_t_maintab-bukrs.
        g_t_maintab-gjahr = l_t_maintab-gjahr.
        g_t_maintab-belnr = l_t_maintab-belnr.
    Hide values so that these can be used on line selection event.
        HIDE: g_t_maintab-bukrs, g_t_maintab-gjahr, g_t_maintab-belnr.
    Calculate amounts for account summary.
        l_tpart_acc1    = l_tpart_acc1 + l_t_maintab-amount1.
        l_tpart_acc2    = l_tpart_acc2 + l_t_maintab-amount2.
        l_tpart_acc3    = l_tpart_acc3 + l_t_maintab-amount3.
        l_tpart_acc4    = l_tpart_acc4 + l_t_maintab-amount4.
        l_tpart_acc_bal = l_tpart_acc_bal + l_t_maintab-balamt.
    Calculate amounts for trading partner summary.
        l_tpart1 = l_tpart1 + l_t_maintab-amount1.
        l_tpart2 = l_tpart2 + l_t_maintab-amount2.
        l_tpart3 = l_tpart3 + l_t_maintab-amount3.
        l_tpart4 = l_tpart4 + l_t_maintab-amount4.
        l_tpart_bal = l_tpart_bal + l_t_maintab-balamt.
    *At end of one account type write summary for account type.
        AT END OF acctp.
          g_t_maintab = l_t_maintab.
          PERFORM f8100_write_acctype_summary
                  USING l_tpart_acc1 l_tpart_acc2 l_tpart_acc3 l_tpart_acc4
                        l_tpart_acc_bal l_t_maintab-acctp l_t_maintab-tpart
                        l_t_maintab-name1.
          CLEAR: l_tpart_acc1, l_tpart_acc2, l_tpart_acc3, l_tpart_acc4,
                 l_tpart_acc_bal.
        ENDAT.
    At end of trading pair, write trading partner summary.
        AT END OF tpart.
          g_t_maintab = l_t_maintab.
          PERFORM f8200_write_tradingpair_summar
                  USING l_tpart1 l_tpart2 l_tpart3 l_tpart4 l_tpart_bal
                        l_t_maintab-tpart l_t_maintab-name1.
          CLEAR: l_tpart1, l_tpart2, l_tpart3, l_tpart4, l_tpart_bal.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " f4000_write_detailed_rep
    *Eject
    *&      Form  f5000_write_summary_rep
          Subroutine to write summary report.
    FORM f5000_write_summary_rep.
    *Counters for trading partner
      DATA: l_count_tpart  TYPE i,     "Counter for trading pairs.
            l_count_tpart1 TYPE i,     "Trading partner in age cat 1
            l_count_tpart2 TYPE i,     "Trading partner in age cat 2
            l_count_tpart3 TYPE i,     "Trading partner in age cat 3
            l_count_tpart4 TYPE i.     "Trading partner in age cat 4
    Flag for trading partner count.
      DATA: l_flag_tpart1 TYPE c,     "Flag for Trading partner in age cat 1
            l_flag_tpart2 TYPE c,     "Flag for Trading partner in age cat 2
            l_flag_tpart3 TYPE c,     "Flag for Trading partner in age cat 3
            l_flag_tpart4 TYPE c.     "Flag for Trading partner in age cat 4
    Variables to store sum of all line items for a company code.
      DATA: l_comp_amt_bal TYPE dmbtr,
            l_comp_amt1    TYPE dmbtr,
            l_comp_amt2    TYPE dmbtr,
            l_comp_amt3    TYPE dmbtr,
            l_comp_amt4    TYPE dmbtr.
    Internal table to store sum of amounts for all the companies selected.
      DATA: BEGIN OF l_t_compall_amt OCCURS 0,
              waers   LIKE bsad-waers,              "Currency key
              balamt  TYPE dmbtr,                   "Total balance amount
              amount1 TYPE dmbtr,                   "Amount for category 1
              amount2 TYPE dmbtr,                   "Amount for category 2
              amount3 TYPE dmbtr,                   "Amount for category 3
              amount4 TYPE dmbtr,                   "Amount for category 4
            END OF l_t_compall_amt.
      DATA: l_tpart_amt_bal TYPE dmbtr,
            l_tpart_amt1    TYPE dmbtr,
            l_tpart_amt2    TYPE dmbtr,
            l_tpart_amt3    TYPE dmbtr,
            l_tpart_amt4    TYPE dmbtr.
      DATA l_currtxt(11).
      DATA l_t_maintab LIKE g_t_maintab.
    Prepare header texts for report header.
      CONCATENATE  p_adate4(2)  '/' p_adate6(2) '/' p_adate+0(4) INTO
                   g_headertext2.
      CONCATENATE text-t04 p_glacc-low text-h06 p_glacc-high
                  INTO g_headertext1 SEPARATED BY space.
      CONCATENATE text-t03 g_headertext2 INTO g_headertext2 SEPARATED BY
                  space.
      SET TITLEBAR 'SUMMARY_REPORT'.
      SORT g_t_maintab BY bukrs tpart acctp.
    DESCRIBE TABLE g_t_maintab LINES l_count_tpart. "***
      FORMAT INTENSIFIED OFF.
      CLEAR: l_flag_tpart1, l_flag_tpart2, l_flag_tpart3, l_flag_tpart4.
      CLEAR: l_tpart_amt_bal,
             l_tpart_amt1,
             l_tpart_amt2,
             l_tpart_amt3,
             l_tpart_amt4.
      CLEAR: l_comp_amt_bal,
             l_comp_amt1,
             l_comp_amt2,
             l_comp_amt3,
             l_comp_amt4.
    Write summary report.
      LOOP AT g_t_maintab.
        l_t_maintab = g_t_maintab.
    Maintain open items count
        g_open_items = g_open_items + 1.
        IF l_t_maintab-amount1 <> 0.
          g_open_items1 = g_open_items1 + 1.
        ELSEIF l_t_maintab-amount2 <> 0.
          g_open_items2 = g_open_items2 + 1.
        ELSEIF l_t_maintab-amount3 <> 0.
          g_open_items3 = g_open_items3 + 1.
        ELSEIF l_t_maintab-amount4 <> 0.
          g_open_items4 = g_open_items4 + 1.
        ENDIF.
    *Calculate amounts for trading partners and maintain trading partner
    *count.
        l_tpart_amt_bal = l_tpart_amt_bal + l_t_maintab-balamt.
        IF g_t_maintab-amount1 <> 0.
          l_tpart_amt1    = l_tpart_amt1    + l_t_maintab-amount1.
    Increase count according to flag.
          IF l_flag_tpart1 IS INITIAL.
            l_count_tpart1 = l_count_tpart1 + 1.
            l_flag_tpart1 = 'X'.
          ENDIF.
        ELSEIF g_t_maintab-amount2 <> 0.
          l_tpart_amt2    = l_tpart_amt2    + l_t_maintab-amount2.
    Increase count according to flag.
          IF l_flag_tpart2 IS INITIAL.
            l_count_tpart2 = l_count_tpart2 + 1.
            l_flag_tpart2 = 'X'.
          ENDIF.
        ELSEIF g_t_maintab-amount3 <> 0.
          l_tpart_amt3    = l_tpart_amt3    + l_t_maintab-amount3.
    Increase count according to flag.
          IF l_flag_tpart3 IS INITIAL.
            l_count_tpart3 = l_count_tpart3 + 1.
            l_flag_tpart3 = 'X'.
          ENDIF.
        ELSEIF g_t_maintab-amount4 <> 0.
          l_tpart_amt4    = l_tpart_amt4    + l_t_maintab-amount4.
    Increase count according to flag.
          IF l_flag_tpart4 IS INITIAL.
            l_count_tpart4 = l_count_tpart4 + 1.
            l_flag_tpart4 = 'X'.
          ENDIF.
        ENDIF.                                     "g_t_maintab-amount1 <> 0
    Calculate total of amount for all companies
    Separate totals into different rows for different local currency.
        IF p_local = 'X'.
          READ TABLE l_t_compall_amt WITH KEY waers = l_t_maintab-waers.
        ELSE.
          READ TABLE l_t_compall_amt INDEX 1.
        ENDIF.
        IF sy-subrc = 0.
          l_t_compall_amt-balamt  = l_t_compall_amt-balamt  +
                                    l_t_maintab-balamt.
          l_t_compall_amt-amount1 = l_t_compall_amt-amount1  +
                                    l_t_maintab-amount1.
          l_t_compall_amt-amount2 = l_t_compall_amt-amount2  +
                                    l_t_maintab-amount2.
          l_t_compall_amt-amount3 = l_t_compall_amt-amount3  +
                                    l_t_maintab-amount3.
          l_t_compall_amt-amount4 = l_t_compall_amt-amount4  +
                                    l_t_maintab-amount4.
          MODIFY l_t_compall_amt FROM l_t_compall_amt INDEX sy-tabix.
        ELSE.
          MOVE-CORRESPONDING l_t_maintab TO l_t_compall_amt.
          IF NOT p_local = 'X'.
            MOVE 'GRP' TO l_t_maintab-waers.
          ENDIF.
          APPEND l_t_compall_amt.
        ENDIF.
    Calculate total amount for current company.
        l_comp_amt_bal = l_comp_amt_bal + l_t_maintab-balamt.
        l_comp_amt1    = l_comp_amt1    + l_t_maintab-amount1.
        l_comp_amt2    = l_comp_amt2    + l_t_maintab-amount2.
        l_comp_amt3    = l_comp_amt3    + l_t_maintab-amount3.
        l_comp_amt4    = l_comp_amt4    + l_t_maintab-amount4.
        IF p_local = 'X'.
          CONCATENATE text-h04 l_t_maintab-waers
                      INTO l_currtxt SEPARATED BY space.
        ELSE.
          MOVE text-h05 TO l_currtxt.
        ENDIF.
    Write subtotal for each trading partner.
        AT END OF tpart.
          l_count_tpart = l_count_tpart + 1.
    Write the summary lines
          WRITE:/2    l_t_maintab-bukrs,
                 10   l_t_maintab-tpart,
                 42   l_tpart_amt_bal,
                 64   l_currtxt,
                 87   l_tpart_amt1,
                 109  l_tpart_amt2,
                 131  l_tpart_amt3,
                 153  l_tpart_amt4.
          CLEAR: l_tpart_amt_bal,
                 l_tpart_amt1,
                 l_tpart_amt2,
                 l_tpart_amt3,
                 l_tpart_amt4.
          CLEAR: l_flag_tpart1, l_flag_tpart2, l_flag_tpart3, l_flag_tpart4.
        ENDAT.
    Write subtotal for each company code.
        AT END OF bukrs.
          PERFORM f8300_write_comp_summ USING l_comp_amt_bal
                                              l_comp_amt1
                                              l_comp_amt2
                                              l_comp_amt3
                                              l_comp_amt4
                                              l_t_maintab-bukrs
                                              l_t_maintab-butxt
                                              l_t_maintab-waers.
          CLEAR: l_comp_amt_bal,
                 l_comp_amt1,
                 l_comp_amt2,
                 l_comp_amt3,
                 l_comp_amt4.
        ENDAT.
      ENDLOOP.
     

  • How to configure Pay Roll in SAP

    Dear Gurus,
    How to configure Pay Roll in SAP. Pls suggest.
    Regards
    Pankaj
    Please have a look at the forum search

    Define Employee Sub Group Grouping for PCR and CAP    / Check Payscale Area   / Check Payscale Type  / Check Assignment of Pay Scale Structure to Enterprise Structure  / TARIF Feature / Create Control Record / Revise Payscale groups and levels /  Create Wage type catalog /  Employee Subgroup Grouping for primary wage types / Personnel Subarea Grouping for Primary Wage Type / Setup Payroll Period for Collective Agreement Provision / Check wage type group Basic pay / Define wage type permissibility for each PS and ESG / Check wage type characteristics / Maintain Valuation of Base Wage types /
    Check Wage Type Group Recurring Payments and Deductions / Check Wage Type Group Additional Payments /Check Wage Type Group Membership Fees / Membership Payee /Determine allowed payees per membership type /Define Membership / Deduction Types /Define Trust Details for Provident Fund /Maintain Contribution Details for Provident Fund ( Feature 40EPF )
    Assign Company Rates for Provident Fund / Define PF Trust Validity Period / Define Contribution type for Statutory rates for Provident Fund /Maintain ESI Eligibility Limit /  Define Personnel Area and Subarea Groupings for ESI /Assign ESI Groupings for Personnel Area and Subarea/
    Maintain Contribution Rates for ESI/
    Maintain Gratuity Trust ID/
    Maintain Gratuity Contribution Frequency and related wage types/
    Define Contribution Rates for Gratuity/
    Maintain Superannuation Trust ID/
    Maintain Superannuation Contrib. Freq and Rel. Wage Types/
    Define Contribution Rates for Superannuation/
    Maintain Loan Types/
    Create Loan Conditions/
    Maintain Loans Grouping  (Feature 40LGR)/
    Maintain Salary Components ( Feature 40LSL)/
    Max. no. loans allowed (LML1)( Maximum number of loans allowed at a time)/
    Max. no. loans allowed (LML2)(Maximum no of loans allowed)/
    Maintain Maximum amount for loans outstanding(LMVAL)/
    Maintain Loans Eligibility Checks and Limits/
    Maintain Accommodation Types/
    Maintain the processing options for CLA/
    Define Conveyance Types/
    Assign eligibility criteria for conveyance allowance/
    Define Professional Tax Grouping Details/
    Assign Professional Tax Groupings for Personnel Areas and Subareas/
    Assign Amounts for Professional Tax Deduction/
    Maintain Method and Form Layout for Professional Tax Groupings/
    Define Personnel Area and Subarea Groupings for Tax/
    Assign Tax Groupings for Personnel Areas and Subareas/
    Define Tax Codes/
    Assign Tax Code Limits to Wage Types/
    Assign wagetype to wagetype group offcycle /
    Set Up Off-Cycle Reasons/
    Specify default values for wage types Off Cycle/
    Specify Default Values for Payment Methods/
    Configure wage types for Section 80/
    Configure wage types for Section 88/
    Define other allowance or re-imbursement type for exemption/
    Define priority for  deductions/
    Maintain recovery of arrears/
    Define cumulation types for wage types/
    Assign universal contribution groupings for universal contribution types /
    Assign state for universal contribution grouping/
    Assign slab code and other parameters for each state of univ.type./
    Assign Contribution value for each slab./
    Define Period Parameters/
    Define Date Modifiers/
    Check Payroll Accounting Area/
    Generate Payroll Periods/
    Generate calendar for cummulation/
    Assign Basic Wage Types to Grouping for Allowances/
    Define Pay scale groupings for Allowance/
    Assign Pay Scale Groupings for Allowances/
    Assign wage type model for Pay scale grouping for Allowances/
    Calculate Eligibility for Raps/ . ....................................................................................................................................................................................................................................................................
    If you get the knowledge then please .  mark the questions as answered

Maybe you are looking for

  • How to reinstall fonts?

    Somehow I deleted all my fonts. How do I reinstall them?

  • Where did the current song listing go for iTunes Internet Radio?

    I listen to internet radio on iTunes all the time, and I always loved being able to check the title and artist of whatever song was playing.  I just upgraded my iTunes to 11.1.3(8) and now the internet radio no longer shows me the title & artist of t

  • Dreamweaver-photoshop 7

    I am going to take over updating of our web site and need to know if Photoshop 7 will work with DREAMWEAVER?

  • Internal hyperlinks, PDF, and OS 10.3

    I saw an earlier post about this issue: in Pages, I'd like to export a PDF that has hyperlinks intact. Turned out that Pages v2 included support for this, while v1 did not. I've got Pages v2.0.1 running on an OS 10.3.9 powerbook G4, and the hyperlink

  • InDesign crashes at startup

    InDesign seems to read a lot of plugins at startup, then colapses and reveals an enourmous crash report. I have read other threads about the same topic. Using Lion, I can't find the preference files which could help by beeing deleted. I have restarte