Collection / Reminder Letter

Hi Gurus,
Is there a transaction code in SAP where we can readily print a collection or reminder letters for Customers with overdue accounts.  As of now, we are creating the letter manually per Customer.
Thank You.

Hi.
In SAP ,  you can Use Dunning Procedure to Send Reminder Letters to Customers in different Levels ..up to 9 Maximum.
you can know more details go throw the details in the below Notes for Configuration go to T.code FBMP , Below is the Path
SPRO -Financial Accounting (New)-Accounts Receivable and Accounts Payable-Business Transactions-Dunning
Definition:
Dunning is a reminder to the customer or vendor to make payment on outstanding invoices. It typically consists of a letter that summarizes the invoices that are past due and politely requests payment to be made. When you customize dunning you have to create dunning area like at what level you want to use the dunning, like business area level or company code level. After that you have to make settings for dunning procedure, in that you have to define no of due dates and no of dunning levels. there are maximum 9 levels are there.
Thanks
Goutam

Similar Messages

  • Reminder number logic in PO reminder letter

    Hi All,
    I am doing a smartform for PO reminder letter. I want to print the reminder number in the layout.
    Is there any standard FM or code where i can find the reminder number of PO?
    Thanks
    Kapil

    LMEXF001
    MM06E003

  • Reminder letter against PO

    Hi ,
    How can I send reminder letter to vendor against PO . What are the settings and T.Code.
    Regards
    nandini

    HI,
    the T.code  is  ME91F .
    There are I4 purhasing value keys_
    1-reminder days
    2-Tolerance limits
    3-shipping instructions
    4-order acknowledgment requirement
    1-reminder days
    Number of days representing the time interval at which reminders or
    urging letters/messages are to be issued to the vendor.
    Example
    In the event of a delay in delivery, you can send messages urging
    the vendor to deliver ordered materials a total of three times,
    at intervals of 10 days:
    Reminder 1: 10 days (after delivery date)
    Reminder 2: 20 days (after delivery date)
    Reminder 3: 30 days (after delivery date).
    2-Tolerance limits
    Underdelivery tolerance limit ->
    Percentage (based on the order quantity) up to which an
    underdelivery of this item will be accepted.
    Overdelivery tolerance limit ->
    Percentage (based on the order quantity) up to which an overdelivery
    of this item will be accepted.
    3-shipping instructions
    Specifies the packaging and shipping instructions issued to the vendor.
    4-order acknowledgment requirement
    Determines whether the purchasing document ( purchase order, outline
    purchase agreement, etc.) is to be acknowledged by the vendor.
    This data appears as default data in purchasing documents and is
    taken from the material master record (unless a purchasing info record
    exists, in which case it is taken from the latter source).
    These messages are created using TA: ME91F using the defined reminder
    days defined in the detail screen of the item in the p.o.
    Messages of type MAHN are always created delivery date plus the reminder
    days. You can also use negative reminder days so that the vendor is
    reminded some days before the requested delivery date.
    I hope this information helps!.
    Best Regards,
    Arminda Jack

  • How to define reminder letter before due date

    Dear Expert,
    How to define dunning procedure in FBMP (for tcode F150) for this condition:
    1st reminder letter should be generated 7 days before due date.
    Currently the setting for dunning level is 4 (days in arrears: blank, 14, 60, 180)
    But I confuse how to be set in 'Days in Arrears' for the first reminder letter?(I set blank since could not set as negative, e.g -7 (7 days before due dates)
    Kindly advice
    Thank you.

    Hi
    maintain Denning Level like Below
    Days in arrears            0    7  53   173
    Calculate interest
    Print Parameters
    Always dun?
    Print all items
    Payment deadline      7     7     7   7
    hope it will resolve your issue
    satish

  • Material expiry reminder letter to user

    Hi ,
    In cases where there is shelf life of material we have made a provision that upon expiry date the material will automatically move to blocked stock. Is there anyway that user is prompted with reminder letter about what material has reached expiry date so that such items can be used .
    Regards
    Nandini

    Hi ,
    i think you can MB5M Report a to generate and send it to the user email box..
    you can standared Configs ..like we do for batch jobs...Weekly or monthly....

  • How to write nested cursor for Adv. Collections dunning letter query

    I am trying to write a query for Advanced Collections duninng letters. Some accounts for this customer have invoices for more than one currency. In order to find all of the invoices this query works:
    select to_char(sysdate, 'MM/DD/YYYY') currsysdate,
    decode((per.person_first_name || per.person_last_name), null, ARPT_SQL_FUNC_UTIL.get_lookup_meaning('RESPONSIBILITY', 'APS'), per.person_first_name) first_name,
    per.person_last_name last_name,
    org.party_name org_name,
    loc.address1 address1,
    loc.address2 address2,
    loc.city city,
    loc.state state,
    loc.postal_code postal_code,
    per.person_first_name first_name1,
    (select sum(aps.amount_due_remaining)
    from
    iex_delinquencies_all dd,
    ar_payment_schedules_all aps
    where
    dd.payment_schedule_id = aps.payment_schedule_id and
    dd.party_cust_id = org.party_id and
    dd.cust_account_id = 255849 and
    dd.customer_site_use_id = 13071) total_amount_due_remaining,
    to_char(sysdate+7, 'MM/DD/YYYY') required_pay_date,
    rs.source_email collector_email,
    arc.alias collector_name,
    arc.telephone_number collector_phone,
    ar.account_number,
    cursor
    (select
    ct.trx_number invoice_number,
    to_char(ar.due_date, 'MM/DD/YYYY') due_date,
    ar.amount_due_remaining amount_due_remaining,
    ar.invoice_currency_code invoice_currency_code
    from
    iex_delinquencies_all d,
    ar_payment_schedules_all ar,
    ra_customer_trx_all ct
    where
    d.party_cust_id = org.party_id
    and d.cust_account_id = 255849
    and d.customer_site_use_id = 13071
    and d.payment_schedule_id = ar.payment_schedule_id
    and d.status = 'DELINQUENT'
    and ar.customer_trx_id = ct.customer_trx_id
    and ar.amount_due_remaining <> 0
    ) as payment_history
    from
    HZ_LOCATIONS loc
    ,hz_parties org
    ,hz_parties per
    ,jtf_rs_resource_extns rs
    ,ar_collectors arc
    ,hz_cust_accounts ar
    where
    loc.location_id = 11600
    and org.party_id= 255849
    --and per.party_id = nvl(:CONTACT_ID, org.party_id)
    and per.party_id = 255849
    and arc.resource_id = rs.resource_id
    and rs.RESOURCE_ID = 100022224
    and ar.cust_account_id = 182399
    But this assumes there is only one invoice currency but there isn't. Now I need to loop through all the distinct currencies in the ar_payment_schedules table so I was trying something like this:
    select to_char(sysdate, 'MM/DD/YYYY') currsysdate,
    decode((per.person_first_name || per.person_last_name), null, ARPT_SQL_FUNC_UTIL.get_lookup_meaning('RESPONSIBILITY', 'APS'), per.person_first_name) first_name,
    per.person_last_name last_name,
    org.party_name org_name,
    loc.address1 address1,
    loc.address2 address2,
    loc.city city,
    loc.state state,
    loc.postal_code postal_code,
    per.person_first_name first_name1,
    (select sum(aps.amount_due_remaining)
    from
    iex_delinquencies_all dd,
    ar_payment_schedules_all aps
    where
    dd.payment_schedule_id = aps.payment_schedule_id and
    dd.party_cust_id = org.party_id and
    dd.cust_account_id = 255849 and
    dd.customer_site_use_id = 13071) total_amount_due_remaining,
    to_char(sysdate+7, 'MM/DD/YYYY') required_pay_date,
    rs.source_email collector_email,
    arc.alias collector_name,
    arc.telephone_number collector_phone,
    ar.account_number,
    cursor
    (select distinct ar.invoice_currency_code invoice_currency_code
    from
    iex_delinquencies_all d,
    ar_payment_schedules_all ar,
    ra_customer_trx_all ct
    where
    d.party_cust_id = org.party_id
    and d.cust_account_id = 255849
    and d.customer_site_use_id = 13071
    and d.payment_schedule_id = ar.payment_schedule_id
    and d.status = 'DELINQUENT'
    and ar.customer_trx_id = ct.customer_trx_id
    and ar.amount_due_remaining <> 0
    cursor
    (select
    ct.trx_number invoice_number,
    to_char(ar.due_date, 'MM/DD/YYYY') due_date,
    ar.amount_due_remaining amount_due_remaining,
    --ar.invoice_currency_code invoice_currency_code
    from
    iex_delinquencies_all d,
    ar_payment_schedules_all ar,
    ra_customer_trx_all ct
    where
    d.party_cust_id = org.party_id
    and d.cust_account_id = 255849
    and d.customer_site_use_id = 13071
    and d.payment_schedule_id = ar.payment_schedule_id
    and d.status = 'DELINQUENT'
    and ar.customer_trx_id = ct.customer_trx_id
    and ar.amount_due_remaining <> 0
    and ar.invoice_currency_code = invoice_currency_code
    ) as payment_history
    ) as g_currency
    from
    HZ_LOCATIONS loc
    ,hz_parties org
    ,hz_parties per
    ,jtf_rs_resource_extns rs
    ,ar_collectors arc
    ,hz_cust_accounts ar
    where
    loc.location_id = 11600
    and org.party_id= 255849
    --and per.party_id = nvl(:CONTACT_ID, org.party_id)
    and per.party_id = 255849
    and arc.resource_id = rs.resource_id
    and rs.RESOURCE_ID = 100022224
    and ar.cust_account_id = 182399
    But I am getting missing right parenthesis error which leads me to think I am writing this correctly.

    Note the name of this forum is "SQL Developer *(Not for general SQL/PLSQL questions)*", so only for issues with the SQL Developer tool. Please post these questions under the dedicated SQL And PL/SQL forum (you've posted there before).
    Regards,
    K.

  • Vendor reminder letter by email

    Hi all,
    I want reminder letters to be sent to vendors automatically by email, till he supplies all the qty of PO. Pls guide for the complete pro. Have configured the system til MAHN output type.
    Regards,

    Hi
    Follow the procedure
    Dunning Procedure. For PO through Mail
    Spro - SAP NetWeaver - Application Server - Basis Services - Message Control - Determine communication Strategy
    1) Here Select Strategy CS01 ans click communication Type on Left side and select INT in Position 1 and save.
    2 ) Spro - MM- Purchasing - Messages - Output Control - Message types - Define Message types to PO execute
    here select Message type MAHN and click Processing Routines .In Medium select option 5(External Send).Select MAHN line item andclick details and maintain Medium as External for Funt OA,VN,DP then save.
    Go back to  
    Spro - MM- Purchasing - Messages - Output Control - Message types - Define Message types to PO - select  "Fine-Tuned Control: Purchase Order"
    Here maintain operation as 3,CType as MAHN and do nat check the box. Save.
    Next proceed as follow :
    Me21n
    ME9F-PO print Hard copy
    ME91F u2013 Generate Messages,Save.
    ME9f- output type u2013 MAHN .
    Maintain Conditionj Record  In MN04 for PO and for RFQ MN01
    Go to /nSOST and double click on Status to check the mail is delivered.
    Hope this helps you.
    Regards,
    JNRKMM

  • Smart Collection not letting me click Save

    Hello,
    I have no smart collections or regular collections created.
    I am trying to create a smart collection containing all the photographs with the keyword Goofy in them.
    1. I click "Create new smart collection"
    2. Look in: 'my photos' folder
    3. Criteria; select Keywords - contains - and type in Goofy
    4. In results, Match if any criteria are met and both check boxes stay selected.
    5. Click Save.
    When I click save, nothing happens, the window stays open and it doesnt seem like it acknowledge my click.
    Suggestions?

    That is odd.
    I don't know what influence startup scripts have but you might check and see if you have them checked in preferences/startup scripts.
    Is this on an internal dirve?  If external may have permission problems.  Just as a test close Bridge, right click on Bridge icon and choose "run as administrator".
    If that does not work I am out of bullets.  Might want to try reset preferences.  Hold down Ctrl key and start Bridge.  Should get a reset window with 3 options.

  • F150 - Dunning Reminder letter with Open Line Items

    Hi to all
    I have requirement from client.
    Standard SAP provides Dunning for only Overdue items,  but my client is having the procedure of considering all open items for legal dunning in their legacy system.  They expecting the same in SAP. 
    Please help me out in this reg.
    Thank you very much for your co-operation.
    regards,
    Zeenath.

    In FBMP, select the dunning procedure, Select dunning levels, and select the Print all items.
    Print All Items?
    This indicator determines that all open items are to be printed in the dunning notices that have this dunning level. The dunning level of the dunning notice is the same as the highest dunning level of the items in the notice.
    This is generally required for higher dunning levels in order to give the customer/vendor an overview of the whole account balance.
    Items blocked for dunning or where automatic debit is allowed, are not displayed.
    Items paid before the due date that have a special G/L indicator are only displayed if the special G/L indicator is defined for the dunning notice.
    Note
    The indicator does not have any effect if the creation of separate dunning notices per dunning level was selected in a  company code. The open items not yet due cannot then be assigned properly to a dunning notice.

  • Purchase order reminder letter printing

    Hi all
    I have a purchase order with more than one line item with different statuses and i want to print the line items as separate documents, in other words i want to generate one separate form for line items with same status and if the purchase order has line items with 2 different statuses then 2 forms should be generated. At the moment the functionality only generates one form irregardless of statuses

    U need to make changes to ur driver program, loop at ur line items table and depending on the line items u want to print in one form append them to an internal table and pass it to smartform fm inside the loop and clear this temp table at the end.
    кu03B1ятu03B9к

  • Dunning letter

    hi experts,
    iam asked to modify one standard sapscript and respective print program of dunning letter , for fi module. for tcode f150. original object is displaying dunning letter output for each customer. when i copied the same object and tried to execute, output is nil. i activated each and every include program etc, but in vain. according to FI consultant they dont maintain application in NACE. so i dnt know how to interlink print program and sapscript, in the original print program form name is not mentioned, i dnt know how the output is displayed in the form of sapscript.
    my requirement is as follows
    The customer is sent the gentle reminder letter for the out standing balances to be received by them. When ever the dunning program is run based on the dunning procedure assigned in the customer master and the level in the customer master, F150 program should be able to print the dunning letter for the customer correspondence.
    MY STANDARD PROGRAM IS FOLLOWS
    REPORT RFMAHN20 MESSAGE-ID FM NO STANDARD PAGE HEADING.
    declaration for dunning lists
    INCLUDE RFMAHNXXTOP.
    tables declaration
    TABLES: T001.
    declaration for independend forms
    INCLUDE RFMAHNXXFORM.
    declaration
    DATA: BEGIN OF MHNK_ACC,
            KOART       LIKE MHNK-KOART,
            BUKRS       LIKE MHNK-BUKRS,
            KUNNR       LIKE MHNK-KUNNR,
            LIFNR       LIKE MHNK-LIFNR,
            KONTO       LIKE MHNK-KUNNR,
            SELKEY      LIKE SY-TABIX,
            L_INCL      LIKE F150V-L_INCL,
            HSORT1(16)  TYPE C,
            HSORT2(16)  TYPE C,
            HSORT3(16)  TYPE C,
            HSORT4(16)  TYPE C,
            HSORT5(16)  TYPE C,
          END OF MHNK_ACC.
    declaration
    DATA:   T_MHNK     LIKE MHNK     OCCURS 10 WITH HEADER LINE.
    DATA    T_MHNK_ACC LIKE standard table of MHNK_ACC
              with key koart bukrs konto  WITH HEADER LINE.
    parameters & select options
    SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS: P_KOART FOR MHNK-KOART,
                    P_BUKRS FOR MHNK-BUKRS,
                    P_KUNNR FOR MHNK-KUNNR,
                    P_LIFNR FOR MHNK-LIFNR.
    SELECTION-SCREEN END OF BLOCK 1.
    INITIALIZATION.
      H_REPID               = SY-REPID.
      H_ACTVT               = '13'.        "display dunning history
      H_TABNAME_HEADER      = 'MHNK_ACC'.
      H_TABNAME_ITEM        = 'MHNK_EXT'.
      H_SET_PF_STATUS       = 'SET_PF_STATUS'.
      H_USER_COMMAND        = 'USER_COMMAND_0001'.
      H_VARIANT-REPORT      = H_REPID.
      H_VARIANT-LOG_GROUP   = '0001'.
      H_VARIANT-HANDLE      = '0001'.
      H_LAYOUT-DETAIL_POPUP = 'X'.
    START-OF-SELECTION.
      select the information from MHNK
      SELECT * FROM MHNK INTO  TABLE T_MHNK
                         WHERE KOART IN P_KOART AND
                               BUKRS IN P_BUKRS AND
                               KUNNR IN P_KUNNR AND
                               LIFNR IN P_LIFNR.
      build the tables for the listviewer
      PERFORM CREATE_TABLES    TABLES   T_MHNK T_MHNK_ACC T_MHNK_EXT.
    END-OF-SELECTION.
      fill the fieldcatalog
      PERFORM FILL_FIELDCAT TABLES   T_FIELDCAT
                            USING    H_TABNAME_HEADER H_TABNAME_ITEM.
      determine the keyinfo
      PERFORM FILL_KEYINFO  CHANGING H_KEYINFO.
      register the list events
      PERFORM REGISTER_EVENTS TABLES T_EVENTS.
    Check if default-variant is existing (default or user-default )
    h_variant-variant has to be empty for this check, otherwise it is
    checked whether this variant is existing.
      H_VARIANT-VARIANT = SPACE.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                I_SAVE        = 'A'
           CHANGING
                CS_VARIANT    = H_VARIANT
           EXCEPTIONS
                WRONG_INPUT   = 1
                NOT_FOUND     = 2
                PROGRAM_ERROR = 3
                OTHERS        = 4.
      IF SY-SUBRC = 2.
      default-variant not existing, therefor get variant 0
        H_VARIANT-VARIANT = '0'.
      ELSEIF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE 'S' NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      display the list
      CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
           EXPORTING
                I_INTERFACE_CHECK        = ' '
                I_CALLBACK_PROGRAM       = H_REPID
                I_CALLBACK_PF_STATUS_SET = H_SET_PF_STATUS
                I_CALLBACK_USER_COMMAND  = H_USER_COMMAND
                IS_LAYOUT                = H_LAYOUT
                IT_FIELDCAT              = T_FIELDCAT[]
                IT_EXCLUDING             =
                IT_SPECIAL_GROUPS        =
                it_sort                  = t_sort[]
                IT_FILTER                =
                IS_SEL_HIDE              =
    *--              i_screen_start_column    = 5
    *--              i_screen_start_line      = 5
    *--              i_screen_end_column      = 80
    *--              i_screen_end_line        = 25
                I_DEFAULT                = 'X'
                I_SAVE                   = 'A'
                IS_VARIANT               = H_VARIANT
                  IT_EVENTS                = T_EVENTS[]
                IT_EVENT_EXIT            =
                I_TABNAME_HEADER         = H_TABNAME_HEADER
                I_TABNAME_ITEM           = H_TABNAME_ITEM
                I_STRUCTURE_NAME_HEADER  =
                I_STRUCTURE_NAME_ITEM    =
                IS_KEYINFO               = H_KEYINFO
                IS_PRINT                 =
           IMPORTING
                E_EXIT_CAUSED_BY_CALLER  =
                ES_EXIT_CAUSED_BY_USER   =
           TABLES
                T_OUTTAB_HEADER          = T_MHNK_ACC
                T_OUTTAB_ITEM            = T_MHNK_EXT
           EXCEPTIONS
                PROGRAM_ERROR            = 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.
    *&      Form  FILL_FIELDCAT
          text
         -->P_T_FIELDCAT  text                                           *
         -->P_H_TABNAME_HEADER  text                                     *
         -->P_H_TABNAME_ITEM  text                                       *
    FORM FILL_FIELDCAT TABLES TI_FIELDCAT STRUCTURE T_FIELDCAT
                       USING  I_HEADER TYPE SLIS_TABNAME
                              I_ITEM   TYPE SLIS_TABNAME.
    create the header fieldcat
      PERFORM APPEND_SEL_FIELDS  TABLES TI_FIELDCAT
                                 USING  I_HEADER.
      CLEAR TI_FIELDCAT.
      TI_FIELDCAT-TABNAME       = I_HEADER.
      TI_FIELDCAT-FIELDNAME     = 'KOART'.
      TI_FIELDCAT-SELTEXT_L     = TEXT-052.
      TI_FIELDCAT-SELTEXT_M     = TEXT-052.
      TI_FIELDCAT-SELTEXT_S     = TEXT-052.
      TI_FIELDCAT-REPTEXT_DDIC  = TEXT-052.
      TI_FIELDCAT-REF_FIELDNAME = 'KOART'.
      TI_FIELDCAT-REF_TABNAME   = 'MHNK'.
      APPEND TI_FIELDCAT.
      CLEAR TI_FIELDCAT.
      TI_FIELDCAT-TABNAME       = I_HEADER.
      TI_FIELDCAT-FIELDNAME     = 'BUKRS'.
      TI_FIELDCAT-SELTEXT_L     = TEXT-051.
      TI_FIELDCAT-SELTEXT_M     = TEXT-051.
      TI_FIELDCAT-SELTEXT_S     = TEXT-051.
      TI_FIELDCAT-REPTEXT_DDIC  = TEXT-051.
      TI_FIELDCAT-REF_FIELDNAME = 'BUKRS'.
      TI_FIELDCAT-REF_TABNAME   = 'MHNK'.
      APPEND TI_FIELDCAT.
      CLEAR TI_FIELDCAT.
      TI_FIELDCAT-TABNAME       = I_HEADER.
      TI_FIELDCAT-FIELDNAME     = 'KONTO'.
      TI_FIELDCAT-SELTEXT_L     = TEXT-050.
      TI_FIELDCAT-SELTEXT_M     = TEXT-050.
      TI_FIELDCAT-SELTEXT_S     = TEXT-050.
      TI_FIELDCAT-REPTEXT_DDIC  = TEXT-050.
      TI_FIELDCAT-REF_FIELDNAME = 'KONTO'.
      TI_FIELDCAT-REF_TABNAME   = 'F150V'.
      APPEND TI_FIELDCAT.
      CLEAR TI_FIELDCAT.
      TI_FIELDCAT-TABNAME       = I_HEADER.
      TI_FIELDCAT-FIELDNAME     = 'L_INCL'.
      TI_FIELDCAT-SELTEXT_L     =  TEXT-041.  " Kennz: Mahn. gedruckt
      TI_FIELDCAT-REPTEXT_DDIC  = 'L_INCL'.
      TI_FIELDCAT-REF_FIELDNAME = 'L_INCL'.
      TI_FIELDCAT-REF_TABNAME   = 'F150V'.
      APPEND TI_FIELDCAT.
      clear ti_fieldcat.
      ti_fieldcat-tabname       = 'MHNK_EXT'.
      ti_fieldcat-fieldname     = 'COMP_CURR'.
      ti_fieldcat-seltext_l     = text-053.
      ti_fieldcat-seltext_m     = text-053.
      ti_fieldcat-seltext_s     = text-053.
      ti_fieldcat-ref_fieldname = 'WAERS'.
      ti_fieldcat-ref_tabname   = 'MHNK'.
      append ti_fieldcat.
    perform append_sort_fields tables ti_fieldcat
                                using  i_header h_sort_info 'H'.
    create the item fieldcat
      PERFORM APPEND_SEL_FIELDS  TABLES TI_FIELDCAT
                                 USING  I_ITEM.
    generate fieldcat
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
                I_PROGRAM_NAME         = H_REPID
                I_INTERNAL_TABNAME     = I_ITEM
                I_STRUCTURE_NAME       = 'MHNK'
                I_CLIENT_NEVER_DISPLAY = 'X'
               i_inclname             = 'RFMAHNXXTOP'
           CHANGING
                CT_FIELDCAT            = TI_FIELDCAT[]
           EXCEPTIONS
                INCONSISTENT_INTERFACE = 1
                PROGRAM_ERROR          = 2
                OTHERS                 = 3.
    for amounts in company currency establish link to MHNK_EXT-COMP_CURR
    so that summation in ALV is possible
      loop at ti_fieldcat.
        if ti_fieldcat-fieldname = 'SALHW' or
           ti_fieldcat-fieldname = 'FAEHW' or
           ti_fieldcat-fieldname = 'ZINHW' or
           ti_fieldcat-fieldname = 'FAMSH' or
           ti_fieldcat-fieldname = 'MHNGH'.
              ti_fieldcat-cfieldname = 'COMP_CURR'.
              ti_fieldcat-ctabname = 'MHNK_EXT'.
              modify ti_fieldcat.
        endif.
      endloop.
      CLEAR TI_FIELDCAT.
      TI_FIELDCAT-TABNAME       = I_ITEM.
      TI_FIELDCAT-SELTEXT_L     = TEXT-042. " 'Nur gedruckte Posten'.
    ti_fieldcat-seltext_m     = text-'Nur gedr. Posten'.
    ti_fieldcat-seltext_s     = 'Nur gedr. Post.'.
      TI_FIELDCAT-FIELDNAME     = 'L_INCL'.
      TI_FIELDCAT-REPTEXT_DDIC  = 'L_INCL'.
      TI_FIELDCAT-REF_FIELDNAME = 'L_INCL'.
      TI_FIELDCAT-REF_TABNAME   = 'F150V'.
      APPEND TI_FIELDCAT.
    perform append_sort_fields tables ti_fieldcat
                                using  i_item h_sort_info 'H'.
    select the fields to be shown
      PERFORM HIDE_ALL_FIELDS TABLES TI_FIELDCAT USING I_HEADER.
    select the fields to be shown
      PERFORM HIDE_ALL_FIELDS TABLES TI_FIELDCAT USING I_ITEM.
    ENDFORM.                               " FILL_FIELDCAT
    *&      Form  CREATE_TABLES
          text
    -->  p1        text
    <--  p2        text
    FORM CREATE_TABLES TABLES TI_MHNK     STRUCTURE MHNK
                              TI_MHNK_ACC STRUCTURE MHNK_ACC
                              TI_MHNK_EXT STRUCTURE MHNK_EXT.
      data : begin of comp_curr,
             bukrs like mhnk-bukrs,
             waers like mhnk-waers,
           end of comp_curr.
      data bukrs_tab like comp_curr occurs 0 with header line.
    sort the table
      SORT TI_MHNK BY KOART BUKRS KUNNR LIFNR ASCENDING.
    build t_mhnk_ext
      LOOP AT TI_MHNK.
      check authority
        PERFORM CHECK_AUTHORITY USING    '13' TI_MHNK-KOART TI_MHNK-BUKRS
                                CHANGING H_AUTHORITY_OK.
        IF H_AUTHORITY_OK = SPACE.
          CONTINUE.
        ENDIF.
      save wa
        MHNK = TI_MHNK.
      create item entry
        MOVE-CORRESPONDING MHNK TO TI_MHNK_EXT.
        IF TI_MHNK_EXT-KOART = 'D'.
          TI_MHNK_EXT-KONTO = TI_MHNK_EXT-KUNNR.
        ELSE.
          TI_MHNK_EXT-KONTO = TI_MHNK_EXT-LIFNR.
        ENDIF.
        TI_MHNK_EXT-HSORT1 = <F1>.
        TI_MHNK_EXT-HSORT1 = <F2>.
        TI_MHNK_EXT-HSORT1 = <F3>.
        TI_MHNK_EXT-HSORT1 = <F4>.
        TI_MHNK_EXT-HSORT1 = <F5>.
      check if item has been printed already
        IF NOT TI_MHNK_EXT-PRNDT IS INITIAL.
          TI_MHNK_EXT-L_INCL = 'X'.
        ELSE.
          TI_MHNK_EXT-L_INCL = SPACE.
        endif.
        read table bukrs_tab with key bukrs = ti_mhnk_ext-bukrs.
        if sy-subrc <> 0.
          select single * from t001 where bukrs = ti_mhnk_ext-bukrs.
          if sy-subrc = 0.
            bukrs_tab-waers = t001-waers.
            bukrs_tab-bukrs = ti_mhnk_ext-bukrs.
            append bukrs_tab.
          endif.
        endif.
        ti_mhnk_ext-comp_curr = bukrs_tab-waers.
        APPEND TI_MHNK_EXT.
      create header entry
        MOVE-CORRESPONDING MHNK TO TI_MHNK_ACC.
        IF TI_MHNK_ACC-KOART = 'D'.
          TI_MHNK_ACC-KONTO = TI_MHNK_ACC-KUNNR.
        ELSE.
          TI_MHNK_ACC-KONTO = TI_MHNK_ACC-LIFNR.
        ENDIF.
        COLLECT TI_MHNK_ACC.
      ENDLOOP.
    determine if account has at least one printed dunning
      LOOP AT TI_MHNK_ACC.
        READ TABLE TI_MHNK_EXT WITH KEY  KOART  = TI_MHNK_ACC-KOART
                                         BUKRS  = TI_MHNK_ACC-BUKRS
                                         KUNNR  = TI_MHNK_ACC-KUNNR
                                         LIFNR  = TI_MHNK_ACC-LIFNR
                                         KONTO  = TI_MHNK_ACC-KONTO
                                         L_INCL = 'X'.
        IF SY-SUBRC = 0.
          TI_MHNK_ACC-L_INCL = 'X'.
          MODIFY TI_MHNK_ACC.
        ENDIF.
      ENDLOOP.
    ENDFORM.                               " CREATE_TABLES
    *&      Form  FILL_KEYINFO
          text
         <--P_H_KEYINFO  text                                            *
    FORM FILL_KEYINFO CHANGING E_KEYINFO TYPE SLIS_KEYINFO_ALV.
      MOVE 'KOART' TO : E_KEYINFO-HEADER01,E_KEYINFO-ITEM01.
      MOVE 'BUKRS' TO : E_KEYINFO-HEADER02,E_KEYINFO-ITEM02.
      MOVE 'KONTO' TO : E_KEYINFO-HEADER03,E_KEYINFO-ITEM03.
    ENDFORM.                               " FILL_KEYINFO
    *&      Form  SET_PF_STATUS
          text
         -->P_RT_EXTAB  text                                             *
         -->P_TYPE  text                                                 *
         -->P_SLIS_T_EXTAB  text                                         *
    FORM SET_PF_STATUS USING I_EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'HIST_MAX' EXCLUDING I_EXTAB.
    ENDFORM.                               " SET_PF_STATUS
    *&      Form  USER_COMMAND_0001
          text
    -->  p1        text
    <--  p2        text
    FORM USER_COMMAND_0001 USING I_UCOMM     LIKE SY-UCOMM
                                 I_SELFIELD  TYPE SLIS_SELFIELD.
      CASE I_UCOMM.
        WHEN 'DISP'.
          PERFORM COMMAND_DISP USING I_SELFIELD.
      ENDCASE.
    ENDFORM.
    *&      Form  COMMAND_DISP
          text
    -->  p1        text
    <--  p2        text
    FORM COMMAND_DISP CHANGING E_SELFIELD TYPE SLIS_SELFIELD.
    declaration
      DATA: TH_MHND     LIKE MHND OCCURS 10 WITH HEADER LINE,
            TH_MHNK     LIKE MHNK OCCURS 1 WITH HEADER LINE.
    determine the current line
      IF E_SELFIELD-TABNAME = H_TABNAME_ITEM.
        READ TABLE T_MHNK_EXT INDEX E_SELFIELD-TABINDEX.
        MOVE-CORRESPONDING T_MHNK_EXT TO TH_MHNK.
        APPEND TH_MHNK.
      ELSE.
        MESSAGE E481.
        EXIT.
      ENDIF.
    determine the mhnd entries for the actual mhnk
      SELECT * FROM  MHND INTO TABLE TH_MHND
             WHERE  LAUFD       = TH_MHNK-LAUFD
             AND    LAUFI       = TH_MHNK-LAUFI
             AND    KOART       = TH_MHNK-KOART
             AND    BUKRS       = TH_MHNK-BUKRS
             AND    KUNNR       = TH_MHNK-KUNNR
             AND    LIFNR       = TH_MHNK-LIFNR
             AND    CPDKY       = TH_MHNK-CPDKY
             AND    SKNRZE      = TH_MHNK-SKNRZE
             AND    SMABER      = TH_MHNK-SMABER
             AND    SMAHSK      = TH_MHNK-SMAHSK.
    change the dunning data
      CALL FUNCTION 'EDIT_DUNNING_DATA'
           EXPORTING
                I_MHNK     = TH_MHNK
                I_XDISPLAY = 'X'
           TABLES
                T_MHND     = TH_MHND
                T_MHNK     = TH_MHNK
           EXCEPTIONS
                OTHERS     = 1.
    ENDFORM.                               " COMMAND_DISP
    *&      Form  REGISTER_EVENTS
          text
         -->P_T_EVENT  text                                              *
    FORM REGISTER_EVENTS TABLES T_EVENT TYPE SLIS_T_EVENT.
    determine the events
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE     = 1
           IMPORTING
                ET_EVENTS       = T_EVENT[]
           EXCEPTIONS
                LIST_TYPE_WRONG = 1
                OTHERS          = 2.
    set top of page form
      READ TABLE T_EVENT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE.
      IF SY-SUBRC EQ 0.
        T_EVENT-FORM = 'TOP_OF_PAGE'. MODIFY T_EVENT INDEX SY-TABIX.
      ENDIF.
    set top of list form
      READ TABLE T_EVENT WITH KEY NAME = SLIS_EV_TOP_OF_LIST.
      IF SY-SUBRC EQ 0.
        T_EVENT-FORM = 'TOP_OF_LIST'. MODIFY T_EVENT INDEX SY-TABIX.
      ENDIF.
    set end of list
      READ TABLE T_EVENT WITH KEY NAME = SLIS_EV_END_OF_LIST.
      IF SY-SUBRC EQ 0.
        T_EVENT-FORM = 'END_OF_LIST'. MODIFY T_EVENT INDEX SY-TABIX.
      ENDIF.
    ENDFORM.                               " REGISTER_EVENTS
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      PERFORM BATCH-HEADING(RSBTCHH0).
    ENDFORM.                               " TOP_OF_PAGE
          FORM TOP_OF_LIST                                              *
    FORM TOP_OF_LIST.
    *- Standardseitenkopf fuellen -
      MOVE '0'      TO BHDGD-INIFL.
      MOVE SY-LINSZ TO BHDGD-LINES.
      MOVE SY-UNAME TO BHDGD-UNAME.
      MOVE SY-REPID TO BHDGD-REPID.
      CLEAR: LINE.
      WRITE TEXT-040 TO BHDGD-LINE2.
    ENDFORM.
          FORM END_OF_LIST                                              *
    FORM END_OF_LIST.
      WRITE: / TEXT-039.
    ENDFORM
    regards
    maaya

    Hi,
    I copied your program and executed it. First of all, I dont think its a print program for any script. Its a plain ALV report program. I think you mis-understood the requirement or I totally lost the question.
    Make sure you are changing the correct program.
    Regards
    Aneesh.

  • Difference in Customer account statement and collections

    Kindly clarify my doubts about customer account steatement and Collections. basically whats the difference in the two and what are the standard T_codes for these two.
    thanks
    anya

    HI ANYA
    T-code:  F.27
    Definition
    An account statement and open item list are two types of correspondence. They differ with respect to the information they contain and the way it is displayed. Unlike an open item list, an account statement displays all items in a specified period along with the balance carried forward. The open item list merely displays the open items for a certain key date.
    Type of correspondence that your company sends to its customers.
    The system includes a SAPscript form that you can use for customer account statements for the Philippines, form F140_CUS_STAT_P1. You can modify this template to meet your company's requirements. To do so, from the SAP Easy Access screen, choose Tools ® Form printout ® SAPscript ® Form.
    Structure
    The following information is displayed in the template for the customer account statement:
    Account balance at the start of the selected period
    Open item list as of the key date, including the total
    It is sorted by transactions with or without special G/L indicators, currency, posting date, and document number.
    Account balance at the end of the selected period
    Cleared item list between selected key dates
    It is sorted by currency, posting date, and cleared item document number.
    Withholding tax list between selected key dates
    It is sorted by withholding tax type, posting date, and document number.
    Aging in 0, 30, 60, 90, and 120 days
    Integration
    You can print the customer account statement.
    Note the following restrictions regarding customer statements:
    You cannot create statements for one-time customers.
    In the case of customer head offices with local branches, customer statements contain the address of the head office and not that of the branch.
    The account statement can be created for your customers or vendors is an extract from the customer account which enables him to check the items there or is merely for information purposes. The account statement displays the balance carried forward, all items in the chosen period and the closing balance of the account.
    The open items list is a special form of account statement. It is also sent to the customer for verification or information purposes. Occasionally, the list is also used as a reminder letter. The open items up to the chosen key date are displayed in this list.
    Both letters contain the document number or reference document number, the document date, the document type, the currency and the amount for every item as well as the balance of the open items at the key date. The account statement may also contain the clearing document number. If branches were included in the letter of a head office, their addresses are listed at the end of the letter.
    The layout of the letter is determined via a form. Depending on the form used, the letter may also contain, for example, the days in arrears per item at the key date or other information. The form must be defined and stored in the system.
    Printing Customer Account Statements
    Use
    Printing of customer account statements is based on correspondence type SAPP3. Correspondence type SAPP3 is preconfigured to run the RFKORDP3 print program, which is delivered with report variant SAP&SAPP3. You can modify SAP&SAPP3 to meet your company's needs. For example, you can change the aging period and the number of the aging column.
    To modify or define a new report variant for the RFKORDP3 print program, in Customizing for Financial Accounting, choose Financial Accounting Global Settings -- Correspondence -- Assign Programs for Correspondence Types. Select correspondence type SAPP3 and choose Environment -- Maintain variants.
    Procedure
    Printing Individual Account Statements:
    Request correspondence type SAPP3 . To do so, from the SAP Easy Access screen, choose Accounting -- Financial Accounting --Accounts Receivable --Account -- Correspondence --Request.
    Issue the correspondence request by choosing Accounting -- Financial Accounting -- Accounts Receivable -- Periodic processing -- Print correspondence -- As per request.
    Print the customer account statement from the spool file by choosing System -- Own spool requests. Select your spool request and choose print.
    COLLECTIONS
    Collection is the settlement of receivables due, in particular, bills of exchange.
    Collection Account
    Definition
    A G/L account that the system uses to record checks receivable that you have presented to banks for collection. It denotes that a check has been sent to a bank and is awaiting clearing
    Reward if useful to u
    narendran vajravelu

  • Patch compliance report for all machines in collection

    Good day to all,
    We are trying to create a report in SCCM 2012 that will show us all missing updates on all computers in collection. But we would like to display in this report only patches which are really targeted to the machines in collection. Let me explain.
    We have multiple deployment groups for patching (OSD, Servers, Client, Test waves...) and current issue we have with all build in reports is that you have to either select one of these deployments and then select a collections - but this will give you only
    status for current group of patches, for another one you have to select different one. And if there is a report where you have to select only collection the it will show all updates which are in deployment (this is not nice as for OSD we are putting some extra
    patches to the image and then these patches are shown as missing on all machines - but they will stay that way as we are not deploying them...yet). The ideal report for us will be to select the collection and then show all missing patches that are targeted
    to that collection. This was accomplished by this query:
    SELECT
    vRS.NetBios_Name0 AS 'Hostname',
    Count(DISTINCT vUI.ArticleID) AS 'Missing Patches'
    FROM v_UpdateComplianceStatus vUCS
    INNER JOIN v_CIRelation vCIR ON vUCS.CI_ID = vCIR.ToCIID
    LEFT JOIN v_AuthListInfo vALI ON vALI.CI_ID = vCIR.FromCIID
    INNER JOIN v_UpdateInfo vUI ON vUCS.CI_ID = vUI.CI_ID
    LEFT JOIN v_R_System vRS ON vUCS.ResourceID = vRS.ResourceID
    WHERE vUCS.ResourceID IN (SELECT vFCM.ResourceID FROM v_FullCollectionMembership vFCM WHERE vFCM.CollectionID = 'CAS00296')
    AND vUCS.Status = '2'
    AND vALI.Title LIKE 'SWU Workstations ENG%'
    GROUP BY vRS.NetBios_Name0
    ORDER BY 2
    However, if we would like to add more columns, like Reboot Pending, Failed, Installed, Not Needed... then the report will start to show incorrect data, e.g. for machine which is fully patched and according to "Programs and Features - Show installed
    updates" have 235 patches installed it will show only 198 patches installed and 10 missing.
    It have something to do with JOINs between tables but we are at the end of ideas how to proceed further (we already checked the official documentation for SQL tables in new SCCM).
    Have any of you created a report like this? I tried to Bing/Google for hours but most of the reports are for SCCM 2007 and showing incorrect data.

    Almost all SU reports created for CM07, still apply to CM12.
    http://www.enhansoft.com/

  • Problem in Display Dunning Letter - F150

    Dear Experts,
    While I run F150, for example for Customer XXXX.
    The Customer have 3 open item/ document number with different arrears (14, 60 and 180)
    which is the customer shoud be have 3 reminder letter (1, 2 and 3).
    But when I check the sample letters and display dunning notice, the dunning letter displayed
    only reminder 1 with detail list of his line items.
    Why reminder 2 and 3 not display in each document to be done?
    Fyi in FBMP the setting is:
    Days in arrears 14  60   180
    always dunn
    print all item
    Dunning interval in days : 1 ( my user want dunning run in everyday)
    Kindly advice.
    Thank you

    Hi Mohit,     
    Thanks for your respond.     
    It means: for 1 Customer, he will only have 1 reminder letter, depends on his previous dunning level;     
    even the customer have 3 documents/open items which have fullfill for 3 arrears? Therefore, 1 Customer will not have 3 reminder letter for 1 dunning run?     
    Is it correct?Kindly your respond.     
    Thank you in advance.

  • Creating new Enterprise wiki site collection or creating a new subsite, or creating a new library

    I have SharePoint 2013 web application, which has enterprise wiki site collection for our finance department. Now I need to create a new site for our HR department.
    The two sites will differ in the following:-
    Each department have different permission. For example each department have different users for who can approve, edit/create.
    Each department will use different EnterpriseWiki page layout. As each department will have different wiki category columns (different site columns).
    Also each department will use different metadata navigation.
    The two sites will have the following in common:-
    The same master page. Seatle.html.
    So I can not determine which approach I should follow:-
    To create a new enterprise wiki site collection for our HR department.
    Create a new enterprise wiki library inside the current site collection representing the HR enterprise wiki.
    To create a new subsite ?
    Can anyone advice on these please? Thanks

    Given that each will have different permissions I would go with a separate site collection.  That will provide the best security basis.  You could do it with a sub site, but it will be easier to maintain the security as a separate site
    collection.
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.
    Yes i know that having different permission & different page layouts will push toward creating separate site collections. but i found a major linking problem when using different site collections (i mean adding links which reference other site collections
    pages), let take the following example:-
    1. I have Site collection A & site collection B.
    2. now inside SCA i create a new wiki page named "Test.aspx" page.
    3. then inside SCA i add a link to this wiki page from another wiki page.
    4. also inside SCB i also add a link to the Test.aspx page.
    After that let say i modify the Test.asxp page name & title to be "NewTest.aspx" , which will affect the page URL which will be
    http:.../NewTest.aspx/ instead of
    http.../Test.aspx/. now inside SCA all the links to the old Test.aspx page will automatically updated to reference the NewTest.aspx so that the links will not break. but inside SCB pages, the links will not be modified and will keep referencing Test.asxp
    which no more exists ... so can you advice please if there is a way to overcome this problem , and if i create sub-site representing Site collection B will this solve the problem ?

Maybe you are looking for

  • I cannot enable Location Services in Settings on my iPhone.

    Settings will not allow me to turn on location services. It is grayed out. How can i turn it on?

  • SQL remote query and data-dictionary

    Hi, We are considering the implementation of SAP Business One 2005. I've installed a demo version but in order for it to continue to support some business functions I need to perform a number of SQL queries against the data. Unfortunately I'm having

  • Album view sorted by year in reversed order?

    Apple, why did you take this feature away? People with large libraries of albums don't want to scroll down a long way to get to the albums added lately. The option to show the year of the files added in album view was also a big hit in previous versi

  • My MacBook Pro will not start up with Command -R.

    After starting with Command - R progress bar fills and disappears. The Apple symbol remains with the spinning wheel below.  The start-up seems to stall at this point. Next steps?

  • Flash based streaming video crashes in fullscreen, IE and FF.

    Please help. Since I purchased a new computer with Windows 7 I am unable to watch videos in fullscreen mode. It will ahng with eitehr a white or black screen and usually play a horrible static sound during. Leaving, for example, Hulu or ABC.com in th