2011年9月9日 星期五

UniCode - 銀行檔案TXT檔錯位

因錯位的欄位會出現在中文字的後一個欄位
所以需要算出原本8300的字元數與4110的字元數差異後
才知道下一欄要放多少位移數。

Ex:
t_text+57(40) = field.
之後要計算 下一個欄位要開始的位置~

call function 'SCMS_STRING_TO_XSTRING'
    exporting
      text     = field      --->  中英文混雜字串
      mimetype = 'C'
      encoding = '8300'   ---> 以8300 編碼轉換
    importing
      buffer   = out_str.   -->轉換出來的文字字串

  len_in_byte = xstrlen( out_str ).      >計算出8300的長度

     len_in_char =  strlen( field ).   ---> unicode長度
  diff = len_in_byte - len_in_char.    ----> 計算 unicode 與非 unicode 長度差異
                                                                         unicode 長度<=編碼8300的長度
  pos = 57 + ( 40  - diff )  .  ---> 計算下一個欄位的位置
 所以下一個欄位
t_text+pos(n) = xxxx.

Upload/Download SAPScript Form

T-Code:SE38
Program Name: RSTXSCRP

Download:
在畫面Object Name輸入要下載的Form名稱
            Mode選擇Export
            File Name輸入下載入徑

Upload: (如果要更改上傳Form Name,需打開文字檔將舊檔名至文字檔更新為新檔名後存檔)
在畫面Object Name輸入要上傳的Form名稱
            Mode選擇IMPORT
            File Name輸入上傳入徑

MB1C - Message No. M7093

事由:當A Plant 將料送至B Plant作加工,這時B廠收901收料時,不能產生GL Account。
執行MB1C時發生以下Error Message
Fld selectn for mvmt type 901 / acct 7480000 differs for Customer goods movement(015)

1.T-code: SE38.
   Program Name: RM07CUFA

2.原因Mvt: 901在Account Grouping設定為1.管價不管量 2.管價也管量..
   而B Plant該Material Type:ROH 設定為管量又管價會產生GL Account...
   故修正B Plant作901時管量不管價,不會觸發Account.

PS 相關IMG
.Logistics -General/MM/Basic Settings/Material Types/Define Attriubtes of Material Types.
.MM/Inventory Management and Physical Inventory/Movement Types/Copy, Change Movement Types.
.MM/Valuation and Account Assignment/Account Determination/Account Determinatin Without Wizard/Configure Automatic Postings.