Giai phap PSCD

78
Inventory List 1-Track Changes 2-MasterData Preparation 3-Payment Lot 4-Copy GL 5-FBL3N vs FS10N 6-Transfer Customer Fields To 7-FM hạch toán & huỷ GL doc 8-Đặt job chạy với FPSCHEDULE 9-Transfer Bank ACC 10-BANK Management 11-FM hạch toán & huỷ PSCD do 12-Clearing rule in PSCD 13-FM clear PSCD doc 14-FB50 15-FBL3N 16-FP08M Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here Click Here

Transcript of Giai phap PSCD

Inventory List

1-Track Changes2-MasterData Preparation3-Payment Lot4-Copy GL5-FBL3N vs FS10N6-Transfer Customer Fields To7-FM hạch toán & huỷ GL doc8-Đặt job chạy với FPSCHEDULE9-Transfer Bank ACC10-BANK Management11-FM hạch toán & huỷ PSCD do12-Clearing rule in PSCD13-FM clear PSCD doc14-FB5015-FBL3N16-FP08M

Click HereClick HereClick HereClick HereClick HereClick HereClick HereClick HereClick HereClick HereClick HereClick HereClick HereClick HereClick HereClick Here

Kiểm tra thay đổi liên quan tới GL:FSS4

1. Xoá dữ liệu GL transactionOBR1

2. Xoá PSCD TransactionFQD1

3. Xoá bảng ZSE14

STT Chi tiết yêu cầu1 Thay đổi TK Bank clearing Account, các thông tin khác tren payment lot

Sử dụng event 243Append fields vào structure FKKZP_ADD

Muốn overwrite giá trị các field chuẩn thì append field trùng tên với Field Chuẩn

Implement event 243

Ket qua

Chi tiết yêu cầuThay đổi TK Bank clearing Account, các thông tin khác tren payment lot

Muốn overwrite giá trị các field chuẩn thì append field trùng tên với Field Chuẩn

From Golden Client: FS15: copy GL

From Production client: FS16

Check Run

Actual Run

**************NOTENếu chỉ chạy 1 lần FS15 => FS16 thì gặp lỗi như sau:

MCA Key bị đặt giá trị '/'.Dẫn đến việc FBL3N không hiển thị line item (msg lỗi: No items selected (see long text)) mặc dù GL đã check Line Item display

Cách khắc phục:Chạy FS16 2 lần

******** COPY cùng môi trường:sử dụng program RFBISA10

Cách 2:Sử dụng OBY9 gắn COA vào Transport RequestMở TR lên và thêm 2 dòng sau:

Program ID ObjectR3TR *R3TR *

Object  FC68  FC01 

Dẫn đến việc FBL3N không hiển thị line item (msg lỗi: No items selected (see long text)) mặc dù GL đã check Line Item display

Difference between FS10N and FBL3N

FBL3N – Display Change Line Items (gives the open item list)FS10N – Display Acct Balances (gives the balance of transaction figure)

To say it very plain - Transaction FS10N displays balances, this balance could include many different asset numbers, drill down required for individual asset numbers. FBL3N displays detail, drill down not required.

In case you find that balances in the 2 transactions dont match:1. Line item display was switched on after there had already been postings to the account (Check your master record for changes in FSS4 and see if the line item display was changed at any point. )2. Archiving has been done (archiving line items but obviously keeping the account balance correct). It can be very time consuming, but you can always use SE16 on table BSEG (with your company code and account number as selection fields) to check the actual line items. Line item display uses one of the index tables (BSIS) and there can be differences between that and the actual document database, which SE16 will show you.3. Check search criteria of FBL3N4. Check the G/L account whether it is enabled to Line Item Display5. Run the programm SAPF190 to check the gap6. Check for your user role, if you have the complete authorization objects for T Codes FS10N and FBL3N. Please take the help of your Basis Consultant for that.7. Execute the report TFC_COMPARE_V2 from SE38 and also see the program documentation (blue information button) on the selection screen of the report.8. Run transaction SE38 and execute program RFSEPA01

To say it very plain - Transaction FS10N displays balances, this balance could include many different asset numbers, drill down required for individual asset numbers. FBL3N displays detail, drill down not required.

1. Line item display was switched on after there had already been postings to the account (Check your master record for changes in FSS4 and see if the line item display was changed at any point. )2. Archiving has been done (archiving line items but obviously keeping the account balance correct). It can be very time consuming, but you can always use SE16 on table BSEG (with your company code and account number as selection fields) to check the actual line items. Line item display uses one of the index tables (BSIS) and there can be differences between that and the actual document database, which SE16 will show you.

6. Check for your user role, if you have the complete authorization objects for T Codes FS10N and FBL3N. Please take the help of your Basis Consultant for that.7. Execute the report TFC_COMPARE_V2 from SE38 and also see the program documentation (blue information button) on the selection screen of the report.

To say it very plain - Transaction FS10N displays balances, this balance could include many different asset numbers, drill down required for individual asset numbers. FBL3N displays detail, drill down not required.

1. Line item display was switched on after there had already been postings to the account (Check your master record for changes in FSS4 and see if the line item display was changed at any point. )2. Archiving has been done (archiving line items but obviously keeping the account balance correct). It can be very time consuming, but you can always use SE16 on table BSEG (with your company code and account number as selection fields) to check the actual line items. Line item display uses one of the index tables (BSIS) and there can be differences between that and the actual document database, which SE16 will show you.

6. Check for your user role, if you have the complete authorization objects for T Codes FS10N and FBL3N. Please take the help of your Basis Consultant for that.

2. Archiving has been done (archiving line items but obviously keeping the account balance correct). It can be very time consuming, but you can always use SE16 on table BSEG (with your company code and account number as selection fields) to check the actual line items. Line item display uses one of the index tables (BSIS) and there can be differences between that and the actual document database, which SE16 will show you.

2. Archiving has been done (archiving line items but obviously keeping the account balance correct). It can be very time consuming, but you can always use SE16 on table BSEG (with your company code and account number as selection fields) to check the actual line items. Line item display uses one of the index tables (BSIS) and there can be differences between that and the actual document database, which SE16 will show you.

2. Archiving has been done (archiving line items but obviously keeping the account balance correct). It can be very time consuming, but you can always use SE16 on table BSEG (with your company code and account number as selection fields) to check the actual line items. Line item display uses one of the index tables (BSIS) and there can be differences between that and the actual document database, which SE16 will show you.

T-Code : FPG1, FB50Function Module : Event 0940, 0061.Tables : DFKKOP, DFKKOPK, DFKKSUM , BSEGExamples: Customer Fields:Name Data ElementDescriptionZZHBKID HBKID House BankZZHKTID HKTID Account IDStep 1: Thêm 2 trường trên vào bảng DFKKOP , DFKKOPKStep 2: Chuyển giá trị các trường Z lên GL Items

Step 3 : Insert value of customer fields to string (event 061_02 , Fields : KONTL )

Step 4: Edit Coding Block Thêm trường vào BSEGSE11 -> CI_COBL (include).

map trường vừa thêm vào các bảng liên quan qua coding blockSpro ->FICA -> Final Account Global Setting -> Ledger -> Fields -> Customer Fields -> Edit Coding Block ( Tcode : OXK3)

Chọn vào một fieldsChọn Account Assignment Fields -> Expert modeChọn vào một fields -> chọn Account Assignment Fields -> chọn Update Run

Step 5 : Thêm Customer Fields vào Struct FKK_ACCIT_CUSStep 6: Gán giá trị các trường Z trên Bseg ( Event 941 )

Trong trường hợp các chứng từ bù trừ trực tiếp với nhau, chứng từ bị bù trừ 1 phần không có trên DFKKOP, do đó phải Enhance để UPDATE trường KONTL

Function module được Enhance :FKK_FIKEY_TOTALS_UPDATEEnhance tại dòng đầu tiên.Code

Step 3 : Insert value of customer fields to string (event 061_02 , Fields : KONTL )

Spro ->FICA -> Final Account Global Setting -> Ledger -> Fields -> Customer Fields -> Edit Coding Block ( Tcode : OXK3)

Trong trường hợp các chứng từ bù trừ trực tiếp với nhau, chứng từ bị bù trừ 1 phần không có trên DFKKOP, do đó phải Enhance để UPDATE trường KONTL

1. Hàm hạch toán GL document & sample codeT-code: ZTC_ACC_F014Tables: BSEG, BKPFThêm trường: ZZLOAIKP (BSEG)

Bước 1: Thêm trường ZZLOAIKP vào bảng BSEGBước 2: Xây dượng Header chứa các thông tin cần nhập

Bước 2.1: Trong đó: 3 trường bắt buộc cần có:Object type (OBJ_TYPE): BKPFFObject key (OBJ_KEY): Khóa đặc biệt cho từng chứng từObject system (OBJ_SYS): Tùy thuộc vào môi trường chạy. Sử dụng function OWN_LOGICAL_SYSTEM_GET để lấy kết quả

Bước 2.2: Thêm các trường còn lại như tên người sử dụng, mã CQBH, loại chứng từ, …

Bước 3: Xây dựng bảng ITEMS (tạo 2 dòng cho từng giao dịch cần tạo)Bước 3.1: Tạo dòng với số tài khoản trùng với số toàn khoản nguồn đã kiểm traBước 3.2: Tạo dòng với số tài khoản là số tài khoản còn lại trong cặp tài khoản

Bước 4: Xây dựng bảng VALUES có dòng phù hợp với thứ tự dòng đã nhậITEMSBước 1: Tài khoản trùng với tài khoản nguồn. Số tiền ngược lại số tiền hiện có trong tài khoản nguồnBước 2: Tài khoản còn lại của cặp tài khoản. Số tiên cùng dấu với số tiền trong tài khoản nguồn

Bước 5: Tạo bảng Extension. Thêm vào các thông tin cần thiết mà BAPI không đáp ứng đượcTham khảo phần 3 ở dưới.

Bước 6: Gọi function

2. Hàm huỷ GL document & sample codeBước 1: Tạo header có cấu trúc tương tự như trên: (cấu trúc bảng BAPIACREV)

3 trường bắt buộcOBJ_TYPEOBJ_KEYOBJ_SYS

Thêm các trường theo cấu trúc của bảng

Bước 2: Xác định trường GSBER (BAPIACREV-BUS_ACT)

Bước 3: Gọi function module và kiểm tra bảng RETURN nếu có lỗi

3. Extension / enhancement & sample codeBước 1: Tạo bảng Extension với 2 dòng cho từng giao dịch cần tạo, thêm vào thông tin hàm hạch toán, hủy không đáp ứng được

Bước 2: Chạy T-code CMOD. Tạo mới một project và assign enhancement object ACBAPI01

Bước 3: Tạo function exit. Hàm này sẽ đọc bảng dữ liệu của bảng Extension (đã build ở bước trên) và đưa vào bảng có cấu trúc ACCITTrong function exit, tạo Include với tên đã được ghi sẵn.Trong include, tách dữ liệu đã ghi vào Extension và chuyển vào trường phù hợp của cấu trúc ACCIT

Object key (OBJ_KEY): Khóa đặc biệt cho từng chứng từObject system (OBJ_SYS): Tùy thuộc vào môi trường chạy. Sử dụng function OWN_LOGICAL_SYSTEM_GET để lấy kết quả

Bước 2.2: Thêm các trường còn lại như tên người sử dụng, mã CQBH, loại chứng từ, …

Bước 3.1: Tạo dòng với số tài khoản trùng với số toàn khoản nguồn đã kiểm traBước 3.2: Tạo dòng với số tài khoản là số tài khoản còn lại trong cặp tài khoản

Bước 4: Xây dựng bảng VALUES có dòng phù hợp với thứ tự dòng đã nhậITEMSBước 1: Tài khoản trùng với tài khoản nguồn. Số tiền ngược lại số tiền hiện có trong tài khoản nguồnBước 2: Tài khoản còn lại của cặp tài khoản. Số tiên cùng dấu với số tiền trong tài khoản nguồn

Bước 5: Tạo bảng Extension. Thêm vào các thông tin cần thiết mà BAPI không đáp ứng được

Bước 1: Tạo header có cấu trúc tương tự như trên: (cấu trúc bảng BAPIACREV)

Bước 1: Tạo bảng Extension với 2 dòng cho từng giao dịch cần tạo, thêm vào thông tin hàm hạch toán, hủy không đáp ứng được

Bước 2: Chạy T-code CMOD. Tạo mới một project và assign enhancement object ACBAPI01

Bước 3: Tạo function exit. Hàm này sẽ đọc bảng dữ liệu của bảng Extension (đã build ở bước trên) và đưa vào bảng có cấu trúc ACCIT

Trong include, tách dữ liệu đã ghi vào Extension và chuyển vào trường phù hợp của cấu trúc ACCIT

###Hello allhow can i create a dynamic variant in fpva (dunning mass), for example for selection criterea:(Net Due Date-FAEDN).

because i need that this date must be changeed(incremented) every day in ou night bach.

best regards

Hi,

We also had a similar requirement in our project. The requirement was to schedule the dunning proposal, dunning activity and correspondence printing to execute daily. To acheive this, first a dummy dunning proposal has to be created with date of issue, net due date, date id (with system date). Do not schedule this proposal. Then a variant has to be created in transaction FPPARMV (Move parameter records). This variant has to be assigned in transaction FPSCHEDULER and create a new variant.

Steps are as follows:

1) Create a dunning proposal (transaction FPVA) with current system date as date id and give any identification with last three digits as numeric. for example, date id = 01.05.2009., identification = D001.2) Enter the general selections as required, and enter the dunning parameters with date of issue = current system date (01.05.2009), and desired due dates as per the dunning frequency, dunning procedure.3) Save the dunning proposal. Do not schedule the dunning run.

4) Create a copy and move new parameter records variant (transaction FPPARMV). Enter activity = MAHN, under 'Run identification' tab, enter the date id and identification as Step 1 (01.05.2009/D001) in the frame 'Template'.5) Under the frame 'Target', enter the date id = 01.05.2009, identification = T001.6) Under the tab 'Move by a day', choose the radio-button 'Adjustment acc. to explicit specs'. If the number of days has to be increased by one day, then it is not required to specify here.7) Save this as a variant.

8) Create a new variant for mass activity (transaction FPSCHEDULER). Enter the mass activity type = MAHN, date id = 01.05.2009, identification = D001 (our template info from Step 1).9) Save this variant.10) Now schedule the program RFKK_MA_SCHEDULER with the variant saved in Step 9.

Hope the above solution helps. If you want the change/check any values during the mass activity run, then event 1906 can be used. This event is called inside the program RFKK_MA_SCHEDULER.

Thanks,Sakthi.

FPVA dunning varainteThis question is Assumed Answered.

ELHAMRI Adil

Re: FPVA dunning varainte

Sakthi Murugan May 1, 2009 1:19 PM (in response to ELHAMRI Adil)

how can i create a dynamic variant in fpva (dunning mass), for example for selection criterea:

We also had a similar requirement in our project. The requirement was to schedule the dunning proposal, dunning activity and correspondence printing to execute daily. To acheive this, first a dummy dunning proposal has to be created with date of issue, net due date, date id (with system date). Do not schedule this proposal. Then a variant has to be created in transaction FPPARMV (Move parameter records). This variant has to be assigned in transaction FPSCHEDULER and create a new variant.

1) Create a dunning proposal (transaction FPVA) with current system date as date id and give any identification with last three digits as numeric. for example, date id = 01.05.2009., identification = D001.2) Enter the general selections as required, and enter the dunning parameters with date of issue = current system date (01.05.2009), and desired due dates as per the dunning frequency, dunning procedure.

4) Create a copy and move new parameter records variant (transaction FPPARMV). Enter activity = MAHN, under 'Run identification' tab, enter the date id and identification as Step 1 (01.05.2009/D001) in the frame 'Template'.

6) Under the tab 'Move by a day', choose the radio-button 'Adjustment acc. to explicit specs'. If the number of days has to be increased by one day, then it is not required to specify here.

8) Create a new variant for mass activity (transaction FPSCHEDULER). Enter the mass activity type = MAHN, date id = 01.05.2009, identification = D001 (our template info from Step 1).

Hope the above solution helps. If you want the change/check any values during the mass activity run, then event 1906 can be used. This event is called inside the program RFKK_MA_SCHEDULER.

We also had a similar requirement in our project. The requirement was to schedule the dunning proposal, dunning activity and correspondence printing to execute daily. To acheive this, first a dummy dunning proposal has to be created with date of issue, net due date, date id (with system date). Do not schedule this proposal. Then a variant has to be created in transaction FPPARMV (Move parameter records). This variant has to be assigned in transaction FPSCHEDULER and create a new variant.

1) Create a dunning proposal (transaction FPVA) with current system date as date id and give any identification with last three digits as numeric. for example, date id = 01.05.2009., identification = D001.2) Enter the general selections as required, and enter the dunning parameters with date of issue = current system date (01.05.2009), and desired due dates as per the dunning frequency, dunning procedure.

4) Create a copy and move new parameter records variant (transaction FPPARMV). Enter activity = MAHN, under 'Run identification' tab, enter the date id and identification as Step 1 (01.05.2009/D001) in the frame 'Template'.

6) Under the tab 'Move by a day', choose the radio-button 'Adjustment acc. to explicit specs'. If the number of days has to be increased by one day, then it is not required to specify here.

We also had a similar requirement in our project. The requirement was to schedule the dunning proposal, dunning activity and correspondence printing to execute daily. To acheive this, first a dummy dunning proposal has to be created with date of issue, net due date, date id (with system date). Do not schedule this proposal. Then a variant has to be created in transaction FPPARMV (Move parameter records). This variant has to be assigned in transaction FPSCHEDULER and create a new variant.

We also had a similar requirement in our project. The requirement was to schedule the dunning proposal, dunning activity and correspondence printing to execute daily. To acheive this, first a dummy dunning proposal has to be created with date of issue, net due date, date id (with system date). Do not schedule this proposal. Then a variant has to be created in transaction FPPARMV (Move parameter records). This variant has to be assigned in transaction FPSCHEDULER and create a new variant.

We also had a similar requirement in our project. The requirement was to schedule the dunning proposal, dunning activity and correspondence printing to execute daily. To acheive this, first a dummy dunning proposal has to be created with date of issue, net due date, date id (with system date). Do not schedule this proposal. Then a variant has to be created in transaction FPPARMV (Move parameter records). This variant has to be assigned in transaction FPSCHEDULER and create a new variant.

STEP1: CREATE PROGRAM WITH SAMPLE CODE

STEP 2: RUN PROGRAM AND SELECT TABLESTEP 3: ADD YOUR RQUEST TASK

DATA:        LT_OBJECT TYPE TABLE OF GTY_OBJECT,        LS_KEY TYPE E071K,        LS_OBJ TYPE KO200,        LS_ERROR TYPE IWERRORMSG.

  FIELD-SYMBOLS:                 <LF_E071K> TYPE E071K.

  IF S_OBJNM[] IS NOT INITIAL.    LOOP AT S_OBJNM.      LS_KEY-PGMID = 'R3TR'.      LS_KEY-OBJECT = 'TABU'.      LS_KEY-OBJNAME = S_OBJNM-LOW.      LS_KEY-MASTERNAME = LS_KEY-OBJNAME.      LS_KEY-MASTERTYPE = LS_KEY-OBJECT.      CONCATENATE SY-MANDT '*' INTO LS_KEY-TABKEY.      MOVE-CORRESPONDING LS_KEY TO LS_OBJ.      LS_OBJ-OBJFUNC = 'K'.      LS_OBJ-OBJ_NAME = LS_KEY-OBJNAME.      APPEND LS_OBJ TO GT_OBJ.      APPEND LS_KEY TO GT_KEY.    ENDLOOP.  ENDIF.

  IF GT_KEY[] IS NOT INITIAL.    CALL FUNCTION 'IW_C_APPEND_OBJECTS_TO_REQUEST'      IMPORTING*       TRANSPORT_ORDER       =*       IS_CANCELLED          =        ERROR_MSG             = LS_ERROR      TABLES        OBJECTS               = GT_OBJ        KEYS                  = GT_KEY              .  ENDIF.  REFRESH: GT_KEY, GT_OBJ.

Bank master tcode:FI01FI02FI03…FI12

Delete bank master per countryse38 => SAPF023

1. Hàm hạch toán PSCD & sample codeStep1 : Build Header.Struct Header : BAPIDFKKKOExamples

Step2 : Build BP Items.Struct BP items: BAPIDFKKOPCode:

 DATA:    LW_FIKEY TYPE FIKEY_KK.     " Số lô

* Generate Reconcilation Key  CALL FUNCTION 'FKK_CALL_EVENT_1113'    EXPORTING      I_HERKF = GC_HERKF      I_APPLK = GC_APPLK    IMPORTING      E_FIKEY = LW_FIKEY.

* Create R-Key nếu chưa có  CALL FUNCTION 'FKK_FIKEY_CHECK'    EXPORTING      I_FIKEY               = LW_FIKEY      I_OPEN_WITHOUT_DIALOG = GC_XMARK.

* Build Header  LPS_DOCUMENTHEADER-DOC_SOURCE_KEY  =  GC_HERKF.  LPS_DOCUMENTHEADER-APPL_AREA       =  GC_APPLK.  LPS_DOCUMENTHEADER-CURRENCY        =  GC_CURR.*  LPS_DOCUMENTHEADER-CLASS_KEY       =  LPS_DFKKOP-CLASS_KEY."SO QD  LPS_DOCUMENTHEADER-DOC_DATE        =  P_PBDAT."Ngay QD  LPS_DOCUMENTHEADER-DOC_TYPE        =  LPW_BLART.  LPS_DOCUMENTHEADER-POST_DATE       =  P_PBDAT.*  LPS_DOCUMENTHEADER-REF_DOC_NO      =  LPS_DFKKOP-REF_DOC_NO.  LPS_DOCUMENTHEADER-FIKEY           =  LW_FIKEY.

LS_PARTNER-ITEM       = LPW_LINENO. " 3 line tương ứng 1 2 3  LS_PARTNER-APPL_AREA  = GC_APPLK.

  LS_PARTNER-BUSPARTNER = LS_ITEM_PT-GPART. " Partner  LS_PARTNER-CONT_ACCT  = LS_CA-CONT_ACCT.  "ZST_CA-PARTNERACC."LPS_DFKKOP-VKONT. " CA number*  "LS_PARTNER-CONTRACT   = I_DC_PSCD-CO_NUM. " CO number  LS_PARTNER-AMOUNT     = LPW_SOTIEN ." So tien  LS_PARTNER-CURRENCY   = LS_ITEM_PT-WAERS.  LS_PARTNER-NET_DATE   = LW_LASTDAY. "LPS_DFKKOP-FAEDN.  LS_PARTNER-MAIN_TRANS = LPS_MAINSUB-MAIN."'2002'. " Main  LS_PARTNER-SUB_TRANS  = LPS_MAINSUB-SUB."'2001'. " SUB

Step 3: Build GL ItemsStruct GL Items :BAPIDFKKOPKCODE:

Step 4 : Gọi FM : BAPI_CTRACDOCUMENT_CREATE Để hạch toán PSCDCode:

2. Hàm huỷ PSCD document & sample codeSử dụng Function Module :

*  LS_PARTNER-CALC_PERLO = I_DC_PSCD-CALC_PERLO.*  LS_PARTNER-CALC_PERHI = I_DC_PSCD-CALC_PERHI.  LS_PARTNER-PERIOD_KEY = LW_PERSL."'1310'. "**  LS_PARTNER-SEGMENT    = LS_ITEM_PT-SEGMENT.  LS_PARTNER-DOC_TYPE   = LPW_BLART. " Hoặc update ngoài*  LS_PARTNER-REF_DOC_NO = I_DC_PSCD-REF_DOC_NO.      " Ref doc no*  LS_PARTNER-CLASS_KEY  = I_DC_PSCD-CLASS_KEY.       " So QР LS_PARTNER-DOC_DATE   = P_PBDAT.        " Ngay QР LS_PARTNER-POST_DATE  = P_PBDAT.*  LS_PARTNER-PROFIT_CTR = I_DC_PSCD-PROFIT_CENTER. = PRCTR  LS_PARTNER-BUS_AREA   = LS_ITEM_PT-GSBER.*  LS_PARTNER-PAYMNT_GRP = I_DC_PSCD-PAY_GROUP.  LS_PARTNER-G_L_ACCT   = LPS_MAINSUB-BPIT."I_DC_PSCD-GL_ACC1." G/L 1

  APPEND LS_PARTNER TO LPT_PARTNERPOSITIONS.

LS_GENLEDGER-ITEM         = LPW_LINENO. " 1 2 3???

  LS_GENLEDGER-AMOUNT       = - LPW_SOTIEN.  LS_GENLEDGER-BUS_AREA     = LS_ITEM_PT-GSBER.*  LS_GENLEDGER-PROFIT_CTR   = I_DC_PSCD-PROFIT_CENTER. = PRCTR  LS_GENLEDGER-SEGMENT      = LS_ITEM_PT-SEGMENT.  "  LS_GENLEDGER-VALUE_DATE   = SY-DATUM.  LS_GENLEDGER-G_L_ACCT     = LPS_MAINSUB-GLIT. "I_DC_PSCD-GL_ACC2.

  APPEND LS_GENLEDGER TO LPT_GENLEDGERPOSITIONS.

ALL FUNCTION 'BAPI_CTRACDOCUMENT_CREATE'    EXPORTING      TESTRUN            = SPACE      DOCUMENTHEADER     = LPS_DOCUMENTHEADER      COMPLETEDOCUMENT   = GC_XMARK    IMPORTING      DOCUMENTNUMBER     = LW_RETURN_OPBEL " Số opbel sinh ra      RETURN             = LS_RETURN    TABLES      PARTNERPOSITIONS   = LPT_PARTNERPOSITIONS      GENLEDGERPOSITIONS = LPT_GENLEDGERPOSITIONS.

3. Hàm hạch toán payment lot / payment order lot & sample code4. Extension / enhancement & sample code

2. Hàm huỷ PSCD document & sample code

3. Hàm hạch toán payment lot / payment order lot & sample code

4. Extension / enhancement & sample code

1. Hướng dẫn set up Clearing ruleMenu Path: Financial Accounting (New) → Contract Accounts Receivable and Payable → Basic Functions → Open Item Management → Clearing Control → Define Clearing VariantClVar. Name

Char (3) Char (40)Z01 Bù trừ thủ công - Tự động

Clearing Steps

Sequence No. Text

Numeric (2) Char (50)Z01 -Bù trừ thủ công-tự động

STEP 1: Clearing rule - Chứng từ điều chỉnh

STEP 3: Clearing rule- Chứng từ hoàn trả

STEP 5: Business Partner- Tờ khai biến động- Mã tờ khai

STEP 7: Business Partner- Tờ khai biến động- Tháng PS

STEP 9: Business Partner- Tờ khai biến động- KHGD

STEP 11: Business Partner- Tờ khai biến động- Hạn nộp

Trong Step 1: Các chứng từ có cùng LHBH, CQBH, Nhóm NTG và thuộc các loại chứng từ : C1, C2, C8, D1 sẽ được bù trừ với nhau , ưu tiên theo hạn nộp xa nhất

2. Function module liên quan FKK_SAMPLE_591 : Nhóm các giao dịch được ưu tiên bù trừ với nhau ( Chỉ dành cho bù trừ tự động)examples:

3.Config

* Lấy các chứng từ có số chứng từ = số chứng từ liên quan của D1 để BT* Kiểm tra số chứng từ với số chứng từ liên quan của D1.  LOOP AT T_0591 ASSIGNING <T_0591>  WHERE BLART = 'D1'.    IF <T_0591> IS ASSIGNED.*      CLEAR SY-SUBRC.      LOOP AT T_0591 ASSIGNING <LF_0591>        WHERE BUKRS   EQ <T_0591>-BUKRS        AND   GPART   EQ <T_0591>-GPART        AND   SEGMENT EQ <T_0591>-SEGMENT        AND   GSBER   EQ <T_0591>-GSBER        AND   XBLNR   EQ <T_0591>-ZZREF_KEY        AND   BLDAT   EQ <T_0591>-ZZVALUT.        IF <LF_0591> IS ASSIGNED.          CLEAR <T_0591>-AZVDG_0591.          CLEAR <LF_0591>-AZVDG_0591.* Nhom cac chung tu nay thanh mot nhom          <T_0591>-AZVDG_0591   = <LF_0591>-XBLNR.          <LF_0591>-AZVDG_0591  = <LF_0591>-XBLNR.        ENDIF.      ENDLOOP.    ENDIF.  ENDLOOP.

Note************ In account maintenance, credit and receivables items are only to be cleared within the same contract reference. However, payments on account are to be cleared cross-contract reference.If you only group by contract reference in a clearing step, the latter requirement would not be fulfilled.In account maintenance, the payments on account are to be assigned, similarly to incoming payments, to one of the invoice (documents) from Contract Accounts Receivable and Payable (FI-CA) as precisely as possible with regard to the amount. If you use the clearing variant of the incoming payment here, for grouping by document number, the payment on account would usually be in a different item group to the invoice to be paid.

Menu Path: Financial Accounting (New) → Contract Accounts Receivable and Payable → Basic Functions → Open Item Management → Clearing Control → Define Clearing Variant

Grouping String Sorting StringChar. Grouping rule Sort Char. Rank Sort

001 (Company code) 010Z03 ( LHBHZ02 ( Segments)Z05 Ký hiệu giao dịch 3

001 Company code 010Z03 Loại hình bảo hiểmZ02 SegmentsZ05 Ký hiệu giao dịch 3

Business Partner- Tờ khai biến động- Mã tờ khaiZ02 SegmentsZ03 Loại hình bảo hiểmZ08 Mẫu tờ khaiZ05 Ký hiệu giao dịchZ07 Mã tờ khai

Z03 Loại hình bảo hiểm 010Z02 SegmentsZ08 Mẫu tờ khaiZ05 Ký hiệu giao dịch 3Z04 Tháng phát sinh

001 Company code 010Z03 Loại hình bảo hiểmZ02 SegmentsZ08 Mẫu tờ khaiZ05 Ký hiệu giao dịch 3

Z03 Loại hình bảo hiểm 010Z02 SegmentsZ08 Mẫu tờ khai

Z05 Ký hiệu giao dịch 3010 Due Date

Các chứng từ có cùng LHBH, CQBH, Nhóm NTG và thuộc các loại chứng từ : C1, C2, C8, D1 sẽ được bù trừ với nhau , ưu tiên theo hạn nộp xa nhất

2. Function module liên quan FKK_SAMPLE_591 : Nhóm các giao dịch được ưu tiên bù trừ với nhau ( Chỉ dành cho bù trừ tự động)

Post on account là có thể clear khác GL, khác contract account…

Menu Path: Financial Accounting (New) → Contract Accounts Receivable and Payable → Basic Functions → Open Item Management → Clearing Control → Define Clearing Variant

Các chứng từ có cùng LHBH, CQBH, Nhóm NTG và thuộc các loại chứng từ : C1, C2, C8, D1 sẽ được bù trừ với nhau , ưu tiên theo hạn nộp xa nhất

1. Function module clear PSCD documents & sample code

2. Sample data

100002544100002545

Job tong hop

1. Configure FB50Để ẩn hiện các trường trên màn hình , sử dụng SHD0 để thiết lập screen FB502. Check input in FB502.1.Kiểm tra điều kiện ràng buộc các trường trên màn hìnha.Vào chức năng OB28

Nếu kiểm tra ràng buộc trường trên BKPF ( Header ) Chọn Call point = 1, BSEG thì chọn 2.b.Tạo Validation

Trong điều kiện trên : Không cho phép hạch toán chứng từ không thỏa mãn điều kiện : Ngày hạch toán <= ngày hiện tại

Nếu kiểm tra ràng buộc trường trên BKPF ( Header ) Chọn Call point = 1, BSEG thì chọn 2.

Trong điều kiện trên : Không cho phép hạch toán chứng từ không thỏa mãn điều kiện : Ngày hạch toán <= ngày hiện tại

1. Display customer fields in FBL3NYêu cầu : Các trường cần hiển thị phải có trên bảng BSEG.SM30 - > V_T021S : Cấu hình các trường cần hiển thị

Chạy các Program sau:RFPOSXEXTEND : Gen StructBALVBUFDEL  Xóa bộ đệm

1. Cấu hình FP08MFQC0 -> 1050 : Default Reversal Document

2. Kiểm tra các điều kiện chứng từ được phép Hủy.Function Module : Event_0070.Sample Code :