XML 59 R48.htm IDEA: XBRL DOCUMENT
v3.20.2

Revenue - Additional Information (Detail) - USD ($) | 9 Months Ended | 12 Months Ended
--- | --- | ---
Sep. 30, 2020 | Dec. 31, 2019
Aggregate amount of transaction price allocated to performance obligation | $ 1,428,000,000 |
Customers with payment terms | 30 days |
Retentions receivable | $ 122,000,000 | $ 133,000,000
Retentions receivable within one year | 22,000,000 | $ 28,000,000
Impairment of contract assets | $ 0 |
Minimum [Member] |  |
Payment of invoices | 30 days |
Maximum [Member] |  |
Payment of invoices | 90 days |

X
- Definition Accounts receivable includes retentions receivable. + References No definition available. + Details
Name: | apg_AccountsReceivableIncludesRetentionsReceivable
Namespace Prefix: | apg_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Accounts receivable includes retentions receivable within one year. + References No definition available. + Details
Name: | apg_AccountsReceivableIncludesRetentionsReceivableWithinOneYear
Namespace Prefix: | apg_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Aggregate amount of transaction price allocated to performance obligations. + References No definition available. + Details
Name: | apg_AggregateAmountOfTransactionPriceAllocatedToPerformanceObligation
Namespace Prefix: | apg_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Customers with payment terms. + References No definition available. + Details
Name: | apg_CustomersWithPaymentTerms
Namespace Prefix: | apg_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Impairment of contract assets. + References No definition available. + Details
Name: | apg_ImpairmentOfContractAssets
Namespace Prefix: | apg_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Definition Payment of invoices. + References No definition available. + Details
Name: | apg_PaymentOfInvoices
Namespace Prefix: | apg_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | srt_RangeAxis=srt_MinimumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |