Overview - Purchase Requisition Lines rmb Change to P&lanned<總覽 - 請購單項次 rmb 變更至計畫中>
PM_DataRecordStateEvent 運用
- Menu Item: Change to P&lanned
- Resource Id: 23077
- Keyboard Accelerator: (none)
- Status Text: Change the selected Requisitions to Planned
- Menu Settings
- Enabled when: SalSendMsg( hWndForm, PM_DataRecordStateEvent, METHOD_Inquire, SalHStringToNumber( 'ChangeToPlanned' ) )
- Checked when:
- Menu Actions
- Call PostMessage( hWndForm, PM_DataRecordStateEvent, METHOD_Execute, 'ChangeToPlanned' )
- Menu Item Name:
複製代碼- Function: UserMethod
- Description:
- Returns
- Number:
- Parameters
- Number: nWhat
- String: sMethod
- Static Variables
- Local variables
- String: sRequiNo
- String: sRequisitionState
- String: sAuthCode
- String: sReqNoArray[*]
- String: sLineNoArray[*]
- String: sReleaseNoArray[*]
- Actions
- If nWhat = METHOD_Execute
- If sMethod = 'Release'
- Else If sMethod = 'ChangeToPlanned'
- Select Case AlertBox (TranslateConstant(TEXT_FreezeREQ), CAPTION_Information, INFO_OkCancel)
- Case IDCANCEL
- Break
- Case IDOK
- Call SalSendMsg( hWndForm, PM_DataRecordStateEvent, METHOD_Execute, SalHStringToNumber( 'ChangeToPlanned' ) )
- Call RefreshRecord()
複製代碼
PM_DataRecordStateEvent- Function: DataRecordExecuteStateEvent
- Description: The DataRecordExecuteStateEvent function executes a state event in the server for
- a record.
- COMMENTS:
- DataRecordExecuteStateEvent is called once for each selected record by the
- DataSourceExecuteSqlStateEvent function.
- Returns
- Boolean:
- ! The return value is TRUE if the state event is executed successfully, FALSE otherwise.
- Parameters
- Sql Handle: hSql
- ! Sql handle
- Database connection sql handle to use for this server function call. Typically c_hSql is used.
- String: sEvent
- ! Event name
- Name of event to execute. This event is converted using client->server naming conventions
- to procudce the name of the server method to call.
- Static Variables
- Local variables
- Actions
- If (p_sPackageName != strNULL)
- Set __lsAttr = strNULL
- Call _SetAction( ACTION_Do )
- If DbPLSQLBlock( hSql, p_sPackageName || '.' || ClientNameToDbName( sEvent ) || "__( :__lsResult, :__sObjid, :__lsObjversion, :__lsAttr, :__sAction )" )
- If HandleSqlResult( __lsResult )
- Call DataRecordToForm( __lsAttr, FALSE )
- Return TRUE
- Else
- Return FALSE
- Else
- Return FALSE
- Else
- Return TRUE
複製代碼 Call _SetAction( ACTION_Do )
If DbPLSQLBlock( hSql, p_sPackageName || '.' || ClientNameToDbName( sEvent ) || "__( :__lsResult, :__sObjid, :__lsObjversion, :__lsAttr, :__sAction )" )
***** ChangeToPlanned -->ClientNameToDbName( sEvent )-->CHANGE_TO_PLANNED__ ****
Client DB call 06:10:36.89 (+0.00) Action = 'DO'
Client DB call 06:10:36.89 (+0.00) DbPLSQLBlock( 'IFSAPP.PURCHASE_REQ_LINE_API.CHANGE_TO_PLANNED__( :__lsResult, :__sObjid, :__lsObjversion, :__lsAttr, :__sAction )' )
ClientNameToDbName( sEvent )
- Function: ClientNameToDbName
- Description: The ClientNameToDbName converts an object name from server name conventions
- to client FrameWork name conventions.
- COMMENTS:
- This function works by adding an underscore (_) before all uppercase characters
- (except the first character) and then converting the name to uppercase. For example
- ClientNameToDbName( 'OrderItem' ) -> 'ORDER_ITEM'.
-
- Use function DbNameToClientName to perform the reverse conversion.
- Returns
- String:
- ! The return value is object name with server name conventions.
- Parameters
- String: sClientName
- ! Object name
- The object name with client FrameWork name conventions.
- Static Variables
- Local variables
- Number: nChar
- String: sDbName
- Boolean: bFirstInName
- Number: nUnderscoreCnt
- Actions
- Set bFirstInName = TRUE
- Set nUnderscoreCnt = 0
- While SalStrFirstC( sClientName, nChar )
- If nChar = 0
- Break
- If nChar = 95
- Set nUnderscoreCnt = nUnderscoreCnt+1
- Else
- If nChar >= 65 And nChar <= 90 And not bFirstInName
- Set sDbName = sDbName||'_' || SalNumberToChar(nChar)
- Else
- Set sDbName = sDbName || SalNumberToChar(nChar)
- Set bFirstInName = FALSE
- Select Case nUnderscoreCnt
- Case 1
- Set sDbName = sDbName || '_'
- Break
- Case 2
- Set sDbName = sDbName ||'__'
- Break
- Return SalStrUpperX( sDbName )
複製代碼
|